我是一名CMake初学者,并且在为MacOS X创建Qt应用程序包时遇到了问题.让我们在一个main.cpp文件中考虑一个简单的小部件"helloworld"应用程序.
// main.cpp
#include <QApplication>
#include <QLabel>
int main(int argc, char** argv)
{
QApplication app(argc,argv);
QLabel lbl("Hello");
lbl.show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
该CMakeLists.txt文件也很简单.
# CMakeLists.txt
cmake_minimum_required( VERSION 3.0 )
project( QtBundle )
set( CMAKE_INCLUDE_CURRENT_DIR ON )
set( CMAKE_AUTOMOC ON )
set( SOURCES main.cpp )
find_package( Qt5Widgets REQUIRED )
add_executable( ${PROJECT_NAME} MACOSX_BUNDLE ${SOURCES} )
qt5_use_modules( ${PROJECT_NAME} Widgets )
Run Code Online (Sandbox Code Playgroud)
我跑cmake .. -DCMAKE_PREFIX_PATH=/path/to/Qt5.5.1/,它Makefile在build目录中生成.
然后我运行make并拥有QtBundle.app我想要和QtBundle.app/Contents/MacOS/QtBundle可执行的目录,好的.
但是当我启动它时,我得到:
This application …Run Code Online (Sandbox Code Playgroud)