2013-12-19 62 views
0

我想在我的程序中使用ATL庫。我正在使用Qt 5.2。ATL鏈接器錯誤:無法打開輸入文件***。obj

添加頭文件路徑Qt的pro文件後:

INCLUDEPATH += "C:/WinDDK/7600.16385.1/inc/at171/" 

的第一個錯誤是:

LNK1104: cannot open file 'atls.lib' 

這是解決通過添加路徑atls.lib:

LIBS += "C:/WinDDK/7600.16385.1/lib/ATL/i386/" 

現在我收到錯誤:

LNK1181: cannot open input file 'C:/WinDDK/7600.16385.1/lib/ATL/i386/.obj' 

此文件夾中沒有目標文件,但它爲什麼在請求atls.lib時尋找目標文件?

我需要一些幫助來解決這個問題。

回答

2

我不確定您的Makefile是如何設置的,但LIBS通常保留爲.a,.so或.lib文件的列表。你會想設置LIBPATH到指定LIBS

INCLUDEPATH += "C:/WinDDK/7600.16385.1/inc/at171/" 
LIB += "atls.lib" # shouldn't be needed: it's already looking for atls.lib. 
LIBPATH += "C:/WinDDK/7600.16385.1/lib/ATL/i386/" 
+0

去搜一下目錄中的所有庫至於我可以看有沒有LIBPATH宏的Qt 5.2 .pro文件中使用。 (它不會像LIBS和INCLUDEPATH那樣突出顯示)。我按照你的建議做了,並得到了不同的鏈接錯誤:LNK2038:檢測到'_MSC_VER'不匹配:值'1700'與'main.obj'中的值1800不匹配。 – Phat

+1

這並不好。它告訴你編譯器用於構建main.cpp(main.cc,main.C++,main.c,...)是與鏈接器不同的版本。你有多個版本的Visual Studio安裝? –

+0

只有Visual Studio 2013. – Phat

相關問題