我在编译用QtCreator编写的项目时遇到了一个问题。第一件事是该项目在OS X(如果它是最先开发的)下工作得很好,并且不能在Linux (Mint)下编译。我们首先必须纠正问题,因为Linux区分大小写,而OS X不区分大小写。
现在,我们遇到了一个无法解决的问题。
我们使用RInside应用程序接口,它看起来像是一个链接问题。无论我们如何尝试,都会得到以下错误:
/home/patrick/Taf/rthing/src/IHM/main.cpp:8: erreur : undefined reference to `RInside::RInside(int, char const* const*, bool, bool, bool)'以下是该项目的一些元素。
生成文件的3行代码,包括对RInside的调用:
CXXFLAGS = -pipe -Wno-unused-parameter -I/usr/share/R/include -I/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/Rcpp/include -I/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/RInside/include -g -std=gnu++0x -Wall -W -D_REENTRANT -fPIC $(DEFINES)
INCPATH = -I../IHM -I. -I-I/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/Rcpp/include -I-I/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/RInside/include -I../../../../Qt/5.6/gcc_64/include -I../../../../Qt/5.6/gcc_64/include/QtSvg -I../../../../Qt/5.6/gcc_64/include/QtWidgets -I../../../../Qt/5.6/gcc_64/include/QtGui -I../../../../Qt/5.6/gcc_64/include/QtCore -I. -I../../../../Qt/5.6/gcc_64/mkspecs/linux-g++
LFLAGS = -L/usr/lib/R/lib -lR -lblas -llapack -L/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/RInside/lib -lRInside -Wl,-rpath,/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/RInside/lib -Wl,-z,origin -Wl,-rpath,\$$ORIGIN -Wl,-rpath,/home/patrick/Qt/5.6/gcc_64/lib引用.pro文件中的这些行:
RINSIDEINCL = $$system($$R_HOM/bin/Rscript -e \'RInside:::CxxFlags\(\)\')
RINSIDELIBS = $$system($$R_HOM/bin/Rscript -e \'RInside:::LdFlags\(\)\')
patrick@petitchat:/usr/lib/R/bin$ Rscript -e 'Rcpp:::CxxFlags()'提供:
-I/home/patrick/R/x86_64-pc-linux-gnu-library/3.0/Rcpp/include和
Rscript -e 'Rcpp:::LdFlags()'没有给出任何东西( Mac上也是如此)。
如果有人可以帮助,我可以提供一些有关该项目的更多信息。
发布于 2016-05-19 03:06:24
通过QtCreator使用有点超出了我们支持的规格。
我会提出以下建议:
通过qmake; make
examples/qt中构建现有的工作Qt示例以调整您从QtCreatorhttps://stackoverflow.com/questions/37303796
复制相似问题