Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Visual Studio 10 stary program C++ - nowe błedy LNK2019, LNK2001

mlidia 02 Dec 2011 13:55 1837 2
  • #1
    mlidia
    Level 2  
    Program był napisany w C++ z użyciem Visual Studio 6. I działał.
    Ostatnio na komputerze został zainstalowany na razie w wersji testowej Visual Studio 10 no i kompilacja zakończyła się katastrofalną ilością błędów linkowania



    kilka z nich
    resfile.obj : error LNK2019: unresolved external symbol __imp__GetOpenFileNameA@4 referenced in function _RESFileOpenDlg
    STRUCFile.obj : error LNK2001: unresolved external symbol __imp__GetOpenFileNameA@4
    desfile.obj : error LNK2001: unresolved external symbol __imp__GetOpenFileNameA@4
    DibFile.obj : error LNK2001: unresolved external symbol __imp__GetOpenFileNameA@4
    IMGFile.obj : error LNK2001: unresolved external symbol __imp__GetOpenFileNameA@4
    INTENFile.obj : error LNK2001: unresolved external symbol __imp__GetOpenFileNameA@4
    resfile.obj : error LNK2019: unresolved external symbol __imp__GetSaveFileNameA@4 referenced in function _RESFileSaveDlg
    STRUCFile.obj : error LNK2001: unresolved external symbol __imp__GetSaveFileNameA@4
    desfile.obj : error LNK2001: unresolved external symbol __imp__GetSaveFileNameA@4
    DibFile.obj : error LNK2001: unresolved external symbol __imp__GetSaveFileNameA@4
    IMGFile.obj : error LNK2001: unresolved external symbol __imp__GetSaveFileNameA@4
    INTENFile.obj : error LNK2001: unresolved external symbol __imp__GetSaveFileNameA@4


    i takie
    odcwin.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageA@4 referenced in function _WinMain@16
    odcwin.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function _WinMain@16
    odcwin.obj : error LNK2019: unresolved external symbol __imp__TranslateAcceleratorA@12 referenced in function _WinMain@16
    odcwin.obj : error LNK2019: unresolved external symbol __imp__IsDialogMessageA@8 referenced in function _WinMain@16
    odcwin.obj : error LNK2019: unresolved external symbol __imp__GetMessageA@16 referenced in function _WinMain@16

    Nie wiem co trzeba zrobić, żeby program dał się zlinkować.
  • Helpful post
    #2
    directx11
    Level 17  
    Projekt był importowany do VC10 czy w jakiś inny sposób przeniesiony (np. same pliki z kodem źródłowym)? Brakuje wyszczególnionych bibliotek do linkowania, które powinny być ustawione we właściwościach projektu, najprościej sprawdzić będzie jednak wstawiając gdzieś w pliku z kodem początkowym aplikacji linijki:
    Code:

    #pragma comment(lib, "User32.lib")
    #pragma comment(lib, "Comdlg32.lib")


    Wtedy nie będzie trzeba tego robić w ustawieniach projektu. Być może coś jeszcze wyskoczy, ale bibliotekę do konkretnej funkcji można znaleźć w MSDN-ie, każda jest dokładnie opisana.
  • #3
    mlidia
    Level 2  
    Wielkie dzięki!
    Nie bardzo rozumiem dlaczego trzeba je ręcznie wpisywać a nie jest to oczywiste dla linkera.
    O to chodziło, dopisałam jeszcze dołączanie biblioteki GDI32.lib i kompilacja poszła bez błędów.

    Nie importowałam projektu a skopiowałam z poprzedniego projektu wszystkie potrzebne pliki z kodami źródłowymi. Oczywiście nie wiem gdzie ustawić "właściwości projektu" i jak to zrobić, żeby się te biblioteki dołączały bez ręcznego wpisywania.
    Pewnie trzeba by gdzieś jakieś ścieżki dopisać.