我将在linux上开发的Qt应用程序导入了windows。现在当我构建我的项目时,我收到了这个错误:
error: LNK1146: no argument specified with option '/LIBPATH:'
我在Windows上创建了一个新项目,它运行得非常好。导致这种情况的可能原因之一是项目路径中有空格,但我的项目路径中没有空格。您能告诉我如何解决此问题。
这是我的.pro文件:
#-------------------------------------------------
#
# Project created by QtCreator 2014-12-08T09:19:31
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = FirstProject
TEMPLATE = app
QMAKE_CXXFLAGS += -std=c++11
SOURCES += main.cpp\
firstscreen.cpp \
secondscreen.cpp \
thirdscreen.cpp
INCLUDEPATH += C:\Users\user_name\tango\ \
C:\Users\user_name\omniORB4\ \
C:\Users\user_name\omnithread.h
HEADERS += firstscreen.h \
C:\Users\user_name\tango\ \
C:\Users\user_name\omniORB4\ \
C:\Users\user_name\omnithread.h \
secondscreen.h \
thirdscreen.h
LIBS += -L -lomnithread \
-L -lomniORB4 \
-L -ltango
FORMS += firstscreen.ui \
secondscreen.ui \
thirdscreen.ui
答案 0 :(得分:0)
在.pro文件中,分配给LIBS时问题可能是空的“-L”。您需要在那里写下指定“-l”的以下库的路径。
我修复了一个不那么明显的情况:
由于问题隐藏在JOM使用的响应文件中,我手动启动JOM,由qmake执行。只需复制JOM调用并使用附加的-U参数执行它,即可查看响应文件的内容:
C:\Qt\Tools\QtCreator\bin\jom.exe -U -f Makefile.Debug > x.txt
(当然你必须在qmake输出中提到的目录中调用它)
接下来,我检查了所有/ LIBPATH:x.txt中的出现次数。因此很容易找到罪魁祸首并修复.pro文件。
答案 1 :(得分:0)
发生此问题是因为指定了标志-L
,但是没有给出库路径:
LIBS += -L -lomnithread \
-L -lomniORB4 \
-L -ltango
要解决此问题,必须提供 .lib 文件所在的路径,例如:
LIBS += -L"C:\\Users\\user_name\\omnithread\\lib" -lomnithread \
-L"C:\\Users\\user_name\\omniORB4\\lib" -lomniORB4 \
-L"C:\\Users\\user_name\\tango\\lib" -ltango
记住:-L
和路径字符串之间不能有空格。
因此,这样做也会引发相同的错误:
LIBS += -L "C:\\Users\\user_name\\omnithread\\lib" -lomnithread \
-L "C:\\Users\\user_name\\omniORB4\\lib" -lomniORB4 \
-L "C:\\Users\\user_name\\tango\\lib" -ltango