c - 使用 qnx.cmake 显示错误“CMAKE_C_COMPILER 不是现有编译器工具的完整路径。”
问题描述
我正在使用带有 QNX Momentics 的 CMake。为此,我执行了命令
cmake -DCMAKE_TOOLCHAIN_FILE=/my-path/qnx.cmake
在向我显示以下错误的终端上:
ERROR:-
"-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:7 (project):
The CMAKE_C_COMPILER:
/home/mobis/MTCI/Test/host/linux/x86_64/usr/bin/ntox86_64-gcc
is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH."
我已经在我的本地电脑中检查了
ntox86_64-gcc
编译器,它存在于/hom/Test/host/linux/x86_64/usr/bin
位置。我试图通过在命令行中使用 CMake 提供编译器路径来构建,但它显示相同的错误。
即使出现同样的错误,也尝试了以下解决方案:
CMAKE_C_COMPILER 不是现有编译器工具的完整路径
export CC=/usr/bin/gcc export CXX=/usr/bin/g++
请在下面找到我的qnx.cmake:
set(CMAKE_SYSTEM_NAME QNX)
set(CMAKE_HOST_SYSTEM_NAME QNX)
set(CMAKE_SYSTEM_VERSION 7.0.0)
set(arch ntox86_64)
set(QNX_PROCESSOR x86_64)
SET( TOOLCHAIN QNX )
#Check environment variables
if ("$ENV{QNX_HOST}" STREQUAL "")
message(FATAL_ERROR "QNX_HOST environment variable not set")
endif()
if ("$ENV{QNX_TARGET}" STREQUAL "")
message(FATAL_ERROR "QNX_TARGET environment variable not set")
endif()
set(QNX_HOST "$ENV{QNX_HOST}")
set(QNX_TARGET "$ENV{QNX_TARGET}")
set(CMAKE_C_COMPILER "${QNX_HOST}/usr/bin/${arch}-gcc")
set(CMAKE_CXX_COMPILER "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-g++")
set(CMAKE_C_FLAGS_DEBUG "-g")
set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
set(CMAKE_CXX_FLAGS_DEBUG "-g -D_DEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
set(CMAKE_FIND_ROOT_PATH "${QNX_TARGET}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
请在下面找到我的CMakeLists.txt:
cmake_minimum_required(VERSION 3.14.2)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_BUILD_TYPE Release)
project(Test VERSION 1.0 DESCRIPTION "CoreLSP FOlder structure project" LANGUAGES C)
set(SRCS
main.c
printing.c
)
add_executable(Test ${SRCS})
预期的:
- 该项目应该成功构建并且应该生成 makefile,以便我可以将项目导入 QNX Momentics IDE(基于 Linux 的主机操作系统)。
解决方案
推荐阅读
- typo3 - 如何从 TSconfig 条件访问扩展配置选项?
- android - Android x 数据绑定
- ruby-on-rails - Sidekiq 部署失败并显示“找不到密钥:“MY_APP_DATABASE_PASSWORD”
- html - 如何使用Angular Js从不同的位置(文件)设置自定义变量
- c# - 正则表达式在字符串中查找用户 UPN
- c# - TCP 服务器在第一条消息后关闭连接
- docker - 如何在同一个 https 域 url 下使用 traefik 服务两个提供商后端
- javascript - 如何在其他 jsPdf 元素之间添加画布图像
- java - 使用 Postgresql 进行 Spring Boot 的 Tomcat 配置
- linux - 公开上传的文件未显示