相关疑难解决方法(0)

如何在CMake文件中添加链接器或编译标志?

我正在使用arm-linux-androideabi-g++编译器.当我尝试编译一个简单的"你好,世界!" 程序编译好.当我通过在该代码中添加一个简单的异常处理来测试它时它也可以工作(添加之后-fexceptions..我猜它默认是禁用的).

这适用于Android设备,我只想使用CMake,而不是ndk-build.

例如 - first.cpp

#include <iostream>

using namespace std;

int main()
{
   try
   {
   }
   catch (...)
   {
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

./arm-linux-androideadi-g++ -o first-test first.cpp -fexceptions

它没有问题......

问题 ...我试图用CMake文件编译文件.

我想添加-fexceptions标志.我试过了

set (CMAKE_EXE_LINKER_FLAGS -fexceptions ) or set (CMAKE_EXE_LINKER_FLAGS "fexceptions" )
Run Code Online (Sandbox Code Playgroud)

set ( CMAKE_C_FLAGS "fexceptions")
Run Code Online (Sandbox Code Playgroud)

它仍然显示错误.

c++ cmake

196
推荐指数
4
解决办法
44万
查看次数

随Android-Studio Ubuntu 18.04安装的升级CMake版本

我最近在Ubuntu 18.04上安装了Android Studio,以便为Android进行一些本机C ++开发。在编译需要cmake 3.9或更高版本的项目(由于cmake依赖关系)时,我发现Android Studio安装的cmake版本仅为3.6版本。是否有一种干净的方法可以通过SDK Manager升级与Android Studio一起安装的cmake版本?

我正在运行Android Studio版本3.1.3,并从SDK Manager-> SDK工具安装了cmake。

android cmake android-ndk android-studio

6
推荐指数
2
解决办法
4433
查看次数

在 CMake 中为每个目标设置编译器/链接器标志

我为我的项目创建了以下 CMakelists.txt,其中包含一些需要用 C 编译的文件,然后与我的 C++ 二进制文件链接。我也在用libasan。

cmake_minimum_required(VERSION 3.0)

SET(GCC_COVERAGE_COMPILE_FLAGS "-g3 -fsanitize=address -fno-omit-frame-pointer")
SET(GCC_COVERAGE_LINK_FLAGS    "-fsanitize=address -static-libasan")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")

project(ABC_PROXY VERSION 1.0.0 LANGUAGES C CXX)

add_executable(abc_proxy
src/file1.c
src/main.cpp
)

target_include_directories(abc_proxy PRIVATE /home/vishal/cpp_file/new /home/vishal/cpp_file/new/framework)
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
Run Code Online (Sandbox Code Playgroud)

在上面的文件中,我只有一个目标二进制文件。但现在我想要 2 个二进制文件。一个将使用 libasan 进行编译,另一个将不使用 libasan 进行编译。如何在 'CMAKE_EXE_LINKER_FLAGS' 、 'CMAKE_CXX_FLAGS' 和 'CMAKE_CXX_FLAGS' 中为每个二进制目标使用不同的标志值?

c c++ cmake

3
推荐指数
1
解决办法
3542
查看次数

标签 统计

cmake ×3

c++ ×2

android ×1

android-ndk ×1

android-studio ×1

c ×1