#visualstudio

0
3
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev #visualstudio
Dev update: coś mi sie spierdoliło z Visual Studio (albo jest gdzieś bląd, którego nie wylapało) i zamiast edytora UE5 przy próbie ctrl+f5 (kompiluj i uruchom) wyskakuje "nie można debugować rozwiązania". wtf
1

Zaloguj się aby komentować

Problem:
Konstruktor zmiennej globalnej nie jest wywoływany.
Po długich godzinach szukania co tu się w ogóle dzieje okazało się, że problem występuje tylko w niektórych plikach w projekcie i tylko w Visual Studio.

Rozwiązanie:
Problem pojawia się jeśli w statycznej libce (dołączanej później do exeka) masz zmienne globalne. Visual Studio domyślnie podczas linkowania nie bierze wszystkich rzeczy z libki - konieczne jest dodanie argumentu linkera /WHOLEARCHIVE (wielkość liter zdaje się mieć znaczenie, co na windowsie nie jest zbyt częste).
W przypadku CMake trzeba dodać:
set_property(TARGET projekt_robiący_binarkę APPEND PROPERTY LINK_OPTIONS /WHOLEARCHIVE:libka_ze_zmiennymi_globalnymi)

Uwielbiam Microsoft. Gdyby nie to, że linkowanie używając GCC zajmuje u mnie ~2 minuty to bym dalej siedział na Eclipse.
#cpp #programowanie #visualstudio
11
def

Nie znam cpp, ale „konstruktor zmiennej” brzmi co najmniej dziwnie

MostlyRenegade

@def bo ten język jest w ogóle dziwny

def

Ale nawet google nie nie wie o konstruktorach zmiennych, chyba, ze autor dokonal tutaj jakiegos skrotu myslowego

krokietowy

Korzystasz z linkera mold? Jest czsami kilka razy szybszy niż ldd czy gnu gold

shiranai

@krokietowy Myślałem o wypróbowaniu innych linkerów, ale biorąc pod uwagę, że GDB czasem mi się wysypuje (czy debuggery debuguje się debuggerami?), to już wolę siedzieć na Visualu. Generalnie działa on całkiem sprawnie, ale widać, że robił go Microsoft - podpowiadanie składni zawsze na pierwszym miejscu daje najgorszą możliwą opcję, dokładnie tak, jak Excel.

groman43

@shiranai Szczerze, jeśli polegasz na takich zależnościach, to na Twoim miejscu zastanowiłbym się, czy to co robisz ma sens.

shiranai

@groman43 Uwierz mi, że przez chwilę nawet się nad tym zastanawiałem.

Używam w swojej grze Lua. Lua pozwala zdefiniować własne funkcje w C i używać ich z poziomu skryptu. Wcześniej każdą zdefiniowaną funkcję musiałem ręcznie dodawać do Lua. Stwierdziłem, ze to za dużo roboty i chcę się pobawić w automatyczne ich dodawanie. Odgapiłem sposób stosowany do testów w Catch2: https://github.com/catchorg/Catch2/blob/v2.x/include/internal/catch_test_registry.h#L106 . Dopiero po fakcie przypomniałem sobie, że z nim też były problemy jeśli testy definiowałem w osobnej libce.

Zaloguj się aby komentować

Siema!
Mam pewien problem... Ogólnie robię aplikacje w C# Maui na Androida. Ostatnio dodałem drugi pakiet nuget do projektu i mi zaczęły wyskakiwać błędy.
Chyba to z powodu zależności pakietów? Prawdopodobnie jeden i drugi pakiet odwołuje się do jakieś biblioteki tylko że innej wersji...
Błąd występuje w java. Zrzut ekranu z błędem dorzucam.
Pomoże ktoś?
#csharp #programowanie #dotnet #visualstudio #android #maui #csharp#csharpmaui #problem #pomoc
c952714a-2f3e-49dc-8a4e-1b83b00c15dd
3
rastabaddon

Raczej masz konflikt definicja wystepuje wiecej niz jeden raz. Linkujesz 2 razy ta sama biblioteke?

Meverth

@kiko pokaż ostatni 'Caused by:`

Zaloguj się aby komentować