2013-07-25 64 views
2

我試圖庫鏈接到我的項目,但保留其當:LNK2019錯誤鏈接到外部庫使用Qt

LNK2019:在功能上主要

引用解析的外部符號__imp_GetLibraryVersion我.pro文件看起來是這樣的:

TEMPLATE = app 
CONFIG += console 
CONFIG -= app_bundle 
CONFIG -= qt 

unix|win32: LIBS += -L$$PWD../../Libs/ -ldrivers 

INCLUDEPATH += $$PWD/../../Headers 

我有一個源文件看起來像這樣:

#include "drivers.h" 

void main() 
{ 
    GetLibraryVersion(); 
} 

這顯然只是一個測試項目。該lib位於Libs目錄中並且Headers目錄中的頭文件。

有問題的頭文件看起來是這樣,但有一堆其他功能:

#ifdef _WIN32 
    #ifndef DLL 
    #define DLL _declspec(dllimport) 
    #endif 
#else 
    #define DLL 
    #define __stdcall 
#endif 

#ifdef __cplusplus 
extern C 
{ 
#else 
#typedef int bool 
#endif 

DLL char * __stdcall GetLibraryVersion(void); 

... 

#ifdef __cplusplus 
} 
#endif 

我在一個窗口使用Qt 5.1.0與msvc2012編譯程序7 x64和項目編譯64位。

奇怪的是,它只需添加主要爲切入點,並把庫drivers.lib到項目(無預編譯的頭或任何東西)與Visual Studio 2012完美的作品具有相同的源文件。

回答

2

該DLL爲32位,我的項目是64位。只是改變了我的項目設置爲32位,它的工作。