gpt4 book ai didi

macos - cmake 在 Macos Catalina 10.15 上构建失败

转载 作者:行者123 更新时间:2023-12-01 16:28:22 26 4
gpt4 key购买 nike

我最近安装了带有 Xcode 11.1 的 macos catalina 并更新了 cmake、clang 和 llvm

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

$ cmake --version
cmake version 3.15.4

$ which cmake
/usr/local/bin/cmake

$ clang --version
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin19.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

$ which clang
/usr/bin/clang

CMakeLists.txt 如下所示:

cmake_minimum_required(VERSION 3.14)

project("ROZZETA" VERSION 0.0.1 LANGUAGES C)

# Allow us to import cmake scripts from ./cmake
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}")
# Compiler flags
set(CMAKE_C_COMPILER /usr/bin/clang CACHE PATH "")

find_package(GMP REQUIRED)
add_executable(Rozzeta main.c)
target_link_libraries(Rozzeta gmp libgmp libgmp.a)

cmake 成功检测到 gmp :

/usr/local/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=c++ -G "CodeBlocks - Unix Makefiles" /<path to project>
-- The C compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Using toolchain file: .
-- Found GMP: /usr/local/include/gmp.h and /usr/local/lib/libgmp.a
-- Configuring done
-- Generating done

构建失败:

cmake --build  .
Scanning dependencies of target Rozzeta
[ 50%] Building C object CMakeFiles/Rozzeta.dir/main.c.o
/Users/gajaka/CLionProjects/Rozzeta/main.c:4:10: fatal error: 'gmp.h' file not found
#include <gmp.h>
^~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/Rozzeta.dir/main.c.o] Error 1
make[1]: *** [CMakeFiles/Rozzeta.dir/all] Error 2
make: *** [all] Error 2

我已经手动编译:

cc main.c -lgmp

有人可以帮我解决这个问题吗?非常感谢提前

最佳答案

这让我非常沮丧!我个人使用 jetbrains 的 CLion,在尝试构建用 C/C++ 编写的旧代码时,它给了我错误,因为 MacOS 10.15,Catalina 删除了 Mojave 中曾经存在的 C header pkg。所以,找到了另一种方法并尝试了。

如果您已经安装了 XCode 11.1,则打开终端并运行以下命令:

xcode-select --install

那么,

sudo ln -s/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/*/usr/local/include/

现在,你可以走了。尝试使用 cmake 进行构建。

关于macos - cmake 在 Macos Catalina 10.15 上构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58300397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com