C++ LNK1146:未使用选项';指定参数/LIBPATH:';Qt错误

C++ LNK1146:未使用选项';指定参数/LIBPATH:';Qt错误,c++,qt,qt4,qt-creator,C++,Qt,Qt4,Qt Creator,我将在linux上开发的Qt应用程序导入windows。现在,当我构建项目时,出现以下错误: error: LNK1146: no argument specified with option '/LIBPATH:' 我在windows上创建了一个新项目,效果非常好。导致此问题的可能原因之一是项目路径中有空格,但我的项目路径中没有空格。请告诉我如何解决此问题 这是我的.pro文件: #------------------------------------------------- # #

我将在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

在当前的.pro文件中,您指定了库名称,但没有指定外部lib的路径。这些'-l'和'-l'键正是用于此目的

一些建议:

  • 使用相对路径
  • 在.pro文件中使用一些变量,如DESTDIR,并在lib path参数中引用它们,如-L“$$DESTDIR”

在当前的.pro文件中,您指定了库名称,但没有指定外部库的路径。这些'-l'和'-l'键正是用于此目的

一些建议:

  • 使用相对路径
  • 在.pro文件中使用一些变量,如DESTDIR,并在lib path参数中引用它们,如-L“$$DESTDIR”

在当前的.pro文件中,您指定了库名称,但没有指定外部库的路径。这些'-l'和'-l'键正是用于此目的

一些建议:

  • 使用相对路径
  • 在.pro文件中使用一些变量,如DESTDIR,并在lib path参数中引用它们,如-L“$$DESTDIR”

在当前的.pro文件中,您指定了库名称,但没有指定外部库的路径。这些'-l'和'-l'键正是用于此目的

一些建议:

  • 使用相对路径
  • 在.pro文件中使用一些变量,如DESTDIR,并在lib path参数中引用它们,如-L“$$DESTDIR”

在.pro文件中,分配给LIBS时,问题可能是空的“-L”。您需要在那里为以下指定的库“-l”写入路径

我修复了这样一个不太明显的情况:

因为问题隐藏在JOM使用的响应文件中,所以我手动启动了由qmake执行的JOM。只需复制JOM调用并使用附加的-U参数执行它,即可查看响应文件的内容:

C:\Qt\Tools\QtCreator\bin\jom.exe -U -f Makefile.Debug > x.txt
(当然,您必须在qmake输出中提到的目录中调用它)


接下来,我检查了x.txt中的所有/LIBPATH:executions。因此,很容易找到罪魁祸首并修复.pro文件。

在.pro文件中,分配给LIBS时,问题可能是空的“-L”。您需要在那里为以下指定的库“-l”写入路径

我修复了这样一个不太明显的情况:

因为问题隐藏在JOM使用的响应文件中,所以我手动启动了由qmake执行的JOM。只需复制JOM调用并使用附加的-U参数执行它,即可查看响应文件的内容:

C:\Qt\Tools\QtCreator\bin\jom.exe -U -f Makefile.Debug > x.txt
(当然,您必须在qmake输出中提到的目录中调用它)


接下来,我检查了x.txt中的所有/LIBPATH:executions。因此,很容易找到罪魁祸首并修复.pro文件。

在.pro文件中,分配给LIBS时,问题可能是空的“-L”。您需要在那里为以下指定的库“-l”写入路径

我修复了这样一个不太明显的情况:

因为问题隐藏在JOM使用的响应文件中,所以我手动启动了由qmake执行的JOM。只需复制JOM调用并使用附加的-U参数执行它,即可查看响应文件的内容:

C:\Qt\Tools\QtCreator\bin\jom.exe -U -f Makefile.Debug > x.txt
(当然,您必须在qmake输出中提到的目录中调用它)


接下来,我检查了x.txt中的所有/LIBPATH:executions。因此,很容易找到罪魁祸首并修复.pro文件。

在.pro文件中,分配给LIBS时,问题可能是空的“-L”。您需要在那里为以下指定的库“-l”写入路径

我修复了这样一个不太明显的情况:

因为问题隐藏在JOM使用的响应文件中,所以我手动启动了由qmake执行的JOM。只需复制JOM调用并使用附加的-U参数执行它,即可查看响应文件的内容:

C:\Qt\Tools\QtCreator\bin\jom.exe -U -f Makefile.Debug > x.txt
(当然,您必须在qmake输出中提到的目录中调用它)


接下来,我检查了x.txt中的所有/LIBPATH:executions。因此很容易找到罪魁祸首并修复.pro文件。

出现问题的原因是指定了标志
-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

出现此问题的原因是指定了标志
-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

出现此问题的原因是指定了标志
-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

出现此问题的原因是指定了标志
-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
请记住:两个窗口之间不能有空格