我尝试在Qt Creator 4.7.0-beta1中使用cmake构建一个简单的hello world c++应用程序,但遇到以下错误:
Running "/usr/bin/cmake /home/cpnblank/Documents/vulkandev/cmaketest '-GCodeBlocks - Unix Makefiles' -DCMAKE_CXX_COMPILER:STRING= -DCMAKE_C_COMPILER:STRING=/usr/bin/gcc -DCMAKE_PREFIX_PATH:STRING=/home/cpnblank/Qt/5.11.0/gcc_64 -DQT_QMAKE_EXECUTABLE:STRING=/home/cpnblank/Qt/5.11.0/gcc_64/bin/qmake" in /tmp/QtCreator-CRirhE/qtc-cmake-DuSxtHku.
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.
通过将环境变量“CXX”或CMake缓存条目CMAKE_CXX_COMPILER设置为编译器的完整路径,或编译器名称(如果它在PATH中),告诉CMake在哪里可以找到编译器。
--配置未完成,发生错误!请参阅“/tmp/QtCreator-CRirhE/qtc-cmake-DuSxtHku/CMakeFiles/CMakeOutput.log”。请参阅“/tmp/QtCreator-CRirhE/qtc-cmake-DuSxtHku/CMakeFiles/CMakeError.log”。***cmake进程已退出,退出代码为1。
我已经安装了build-essentials,并且我还将cxx路径设置为g++。我还卸载并重新安装了g++和gcc。
有什么想法吗?
2条答案
按热度按时间rur96b6h1#
当你的qtproject工具包找不到适合cmake的编译器时,就会发生这种情况。
为了CMAKE的方便,首先安装Ninja-Build。另外,你将需要GCC或Clang和GDB。
为了qt环境设置的方便,您可以用途:
apt install qt5-default
或apt install qt4-default
现在ninja将尝试正确配置您的
cmake
。您可能还需要访问:
工具-〉选项-〉套件-〉...
...然后选择您需要使用的工具包,并在编译器部分选择gcc或clang c++(对于c++编译器)和gcc或clang c(对于c编译器)。
6kkfgxo02#
当编译器未正确设定,因此cmake无法找到它时,就会出现这个错误。
这是显而易见的,但是当你使用QtCreator时,你必须考虑到这个信息是在哪里定义的。它在“kit”规范中定义。
首先,检查您的“Kit”是否配置正确。进入菜单并选择:
工具-〉选项。
然后,在“选项”窗口中,选择左栏中的“构建并运行”。然后,选择右面板中的“工具包”选项卡。在那里,您可以看到可用工具包的列表。
选择您要使用的工具包。如果您有多个选项,并且不知道哪一个选项,请选择使用默认选项(即“Desktop Qt 5.2.1 GCC 64 bit(default)”)。
在工具包配置列表中,检查名为“编译器”的行。如果C编译器配置为“无编译器”,则存在问题。在列表中选择一个编译器(例如,您可以选择基本GCC(C))。然后按“确定”按钮,并尝试从头开始生成项目(删除生成的文件并重新打开)。
如果已设定编译器,请确定是正确的编译器,并检查二进制档的路径是否正确。
注意:如果列表中没有所需的编译器,您可以在“编译器”选项卡中添加它。在那里,按“添加”按钮并选择所需的选项。
注意2:如果编译器列表为空...可能需要重新安装QtCreator。