我使用的是 Qt Creator 3.6.1,最新版本比以前的版本更好地处理基于 CMake 的项目。也许你应该试一试?
这是最新测试版的链接;
http://download.qt.io/snapshots/qtcreator/。当然它还不是发布的产品,但我发现它非常稳定。不过,您的里程可能会有所不同。
关于问题 2,正如您所说,“添加新”、“添加现有文件”、“添加现有目录”、“新子项目”和“添加库”被禁用,因为您必须通过 cmake 管理项目。您可以编辑 CmakeLists.txt 并通过“build”->“Run CMake”再次重新运行 cmake 或单击 Reconfigure project 列上的“Project”和“Run CMake”按钮。
如果您需要在文件夹中创建新文件,则可以右键单击子文件夹名称并单击“在此处打开终端”并添加/复制所需的文件或为文件管理器选择“显示包含文件夹” .
编辑:
将另一个库添加到您的项目 .pro 文件中,这是一个示例;
INCLUDEPATH += /usr/local/include/boost
LIBPATH += /usr/local/lib/boost
LIBS += -lboost_system
注意它是-l,而不是-L。
基于以上,你的.pro应该是这样的;
TEMPLATE = app
QT += qml quick widgets
CONFIG += c++11
SOURCES += main.cpp
RESOURCES += qml.qrc
INCLUDEPATH += /usr/local/include/
LIBPATH += /usr/local/lib/
LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui
(取决于您需要哪些 opencv 库,例如 -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml 或其他)。如果您需要更多,则必须提供这些库的名称。
================================================ ==============
更新:
从您的代码中,这是我测试的(成功编译并执行);
代码:
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
int main()
{
cv::Mat image = cv::imread("diffuse.png");
cv::namedWindow("My Image");
cv::imshow("My image",image);
cv::waitKey(5000);
return 1;
}
.pro
TEMPLATE = app
QT += qml quick widgets
CONFIG += c++11
SOURCES += main.cpp
#RESOURCES += qml.qrc
INCLUDEPATH += /usr/local/include/
LIBPATH += /usr/local/lib/
LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui
请注意,我注释掉了 qml.qrc,因为我没有它。所以我的建议是让你注释掉qml.qrc,编译并运行代码。如果一切正常,这意味着错误的来源可能在qml.qrc 的某个位置,就图像文件而言。
================================================ ==============
编辑:
确保图像在文件夹中是可执行文件,而不是源代码文件
HTH