我正在尝试在Windows 8.1上构建Qt 5.5应用程序。我想在Ubuntu 14.04和MacOS 10.10.2上构建相同的应用程序。
这就是.pri文件现在的样子:http://pastebin.com/USHBXAni。 它有unix和mac支持。我也尝试添加Windows支持,但它无法正常工作。它看起来像这样:
win32 {
INCLUDEPATH += $$PWD \
C:/Program Files (x86)/PCL 1.7.2/3rdParty/Boost/include/boost-1_57 \
C:/opencv/build/include
LIBS += -L/C:/opencv/build/x86/vc12/lib \
-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_features2d -lopencv_ml \
-lboost_thread-mt -lboost_system-mt
LIBS += -L/C:/Program Files (x86)/PCL 1.7.2/3rdParty/Boost/lib \
-lboost_thread-mt -lboost_system-mt
}
我对此非常陌生,我确信它在语法上是不正确的,但应该与此类似。任何人都可以给我一些提示或帮助将不胜感激!
什么是$$ PWD和-L例如?
运行make后的错误:
cd tests \ test_galif \&& (如果不存在Makefile C:\ Qt \ Qt5.5.1 \ 5.5 \ msvc2013 \ bin \ q make.exe C:\ Users \用户协和\文件\ OpenSSE \ opensse主\测试\ test_galif \ TE st_galif.pro -o Makefile)&& make -f Makefile make [1]:输入 目录
C:/Users/Concordia/Documents/OpenSSE/opensse-master /tests/test_galif' make -f Makefile.Release make[2]: Entering directory
C:/ Users / Concordia / Documents / OpenSSE / opensse-master /测试/ test_galif' Makefile.Release:106: *缺少分隔符。停止。 make [2]:离开目录C:/Users/Concordia/Documents/OpenSSE/opensse-master/ tests/test_galif' make[1]: *** [release] Error 2 make[1]: Leaving directory
C:/用户/协和/文档/ OpenSSE / opensse主/ 测试/ test_galif' make:* [sub-tests-test_galif-make_first]错误2
答案 0 :(得分:1)
在cmd
Windows控制台中,找不到工具make
:
'make'未被识别为内部或外部命令,可操作 程序或批处理文件。
如果发现make
,它来自一些外国装置(可能来自Cygwin)。来自qmake
的{{1}} Qt安装默认情况下应为Visual Studio msvc2013
生成Makefile。
从控制台构建应该从具有适当构建环境(nmake
变量)的适当命令提示符启动。对于32位编译,它应该是%PATH%
命令提示符:
x86
从该控制台可以运行Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt
和适当的编译器。
它应该有助于Makefile错误。可能存在一些其他编译器或链接器错误,但只有正确的构建环境才会通过合适的make工具显示它们。
通常,如果由于某些行上的Makefile格式(例如nmake
)而报告了某些错误,则可能需要检查该行中出现错误的原因。
必须引用带空格的标题路径才能正确编译:
Makefile.Release:106
链接器的库路径可以由INCLUDEPATH += "C:/Program Files (x86)/PCL 1.7.2/3rdParty/Boost/include/boost-1_57"
后跟路径设置。必须引用带空格的路径才能正确连接:
-L
为了完整性,请注意使用较旧的Qt版本QMAKE adding extra quotations in lib path of make file可能会出现其他包含空格路径的问题 但是,Qt5.5.1不受该问题的影响。