Problem z kompilacja (Multi-threaded Debug (/MTd)) VS 2017

Odpowiedz Nowy wątek
2018-10-11 16:44
0

Witam, wyczytałem w internecie, że aby statycznie połączyć biblioteki .dll z projektem exe trzeba wybrać w visualu opcje C/C++-->Code generation-->Multi-threaded Debug (/MTd) lecz po wybraniu tej opcji pod koniec kompilowania wyskakują następujące błedy:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2001 unresolved external symbol __imp___popen    otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_io.obj)  1   
Error   LNK1120 12 unresolved externals otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\otclient.exe    1   
Error   LNK2001 unresolved external symbol __except_handler4_common otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\MSVCRT.lib(_chandler4gs_.obj)  1   
Error   LNK2001 unresolved external symbol __imp__bsearch   otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\physfs.lib(lzma.obj)   1   
Error   LNK2001 unresolved external symbol __imp__clearerr  otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_io.obj)  1   
Error   LNK2001 unresolved external symbol __imp__remove    otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_os.obj)  1   
Error   LNK2001 unresolved external symbol __imp__rename    otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_os.obj)  1   
Error   LNK2001 unresolved external symbol __imp__system    otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_os.obj)  1   
Error   LNK2001 unresolved external symbol __imp__tmpfile   otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_io.obj)  1   
Error   LNK2001 unresolved external symbol __imp__tmpnam    otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_os.obj)  1   
Error   LNK2001 unresolved external symbol __imp___difftime64   otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_os.obj)  1   
Error   LNK2001 unresolved external symbol __imp___mktime64 otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\physfs.lib(zip.obj)    1   
Error   LNK2001 unresolved external symbol __imp___mktime64 otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\physfs.lib(windows.obj)    1   
Error   LNK2001 unresolved external symbol __imp___mktime64 otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_os.obj)  1   
Error   LNK2001 unresolved external symbol __imp___pclose   otclient    C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\lua51.lib(lib_io.obj)  1   

Tutaj są moje biblioteki sądząc po błedach coś nie tak jest w physfs.lib, lua51.lib

title

edytowany 1x, ostatnio: furious programming, 2018-10-11 22:57

Pozostało 580 znaków

2018-10-11 19:24
0
ruth napisał(a):

statycznie połączyć biblioteki .dll z projektem exe

Yyy, co?

Pozostało 580 znaków

2018-10-11 19:43
0

Ta opcja robi co innego. Upraszczając, powoduje że biblioteki standardowe C i C++ są wlinkowywane do exe, zamiast być w osobnych DLL-kach które trzeba dołączyć do programu (albo lepiej - zainstalować osobno).

Jeśli chcesz żeby jakaś inna biblioteka była wlinkowywana statycznie to musi być jako taka skompilowana. Czyli w opcjach projektu lua51 itp. musiałbyś to ustawić.

Trochę może być z tym roboty jeśli to jest jakaś gotowa biblioteka - musiałbyś ściągnąć źródła i ogarnąć ich kompilowanie. Gorzej jeżeli twórcy nawet nie przewidują kompilowania jej pod Visualem. Wtedy lepiej chyba sobie dać spokój i zostawić DLLkę jak jest.

edytowany 2x, ostatnio: Azarien, 2018-10-11 19:45

Pozostało 580 znaków

2018-10-11 21:33
0

Ok jeżeli jest tak jak mówisz to chyba dam sobie spokój z tym. No nic dllki muszą być obok programu.
Ostatni pytanie mam otóż skompilowalem z opcją "Multi-threaded Debug DLL (/MDd)" bez problemów, a exe zajmuje teraz 5 300KB wcześniej 4 800KB, można jakoś sie dowiedzieć ktore biblikoteki dll zostały włączone do exe? Któreś w stylu msvcp100.dll itp?

edytowany 5x, ostatnio: furious programming, 2018-10-11 22:57

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0