小编Dan*_*urn的帖子

在cmake中显示目标的链接库列表

有没有办法通过target_link_libraries命令打印列表链接到目标库的文件名

甚至更好,将所有目标的依赖项复制到特定文件夹?

cmake

11
推荐指数
3
解决办法
7006
查看次数

cmake 的 CMAKE_TOOLCHAIN_FILE 被忽略

cmake 由于某种原因忽略了我的工具链文件:

lynxos.cmake:

set(CMAKE_SYSTEM_NAME LynxOS)
set(CMAKE_CROSSCOMPILING TRUE)
set(CMAKE_CXX_COMPILER /usr/los178/2.3.0/x86_dev/cdk/linux-coff-x86/usr/bin/g++)
set(CMAKE_C_COMPILER /usr/los178/2.3.0/x86_dev/cdk/linux-coff-x86/bin/gcc)
set(CMAKE_FIND_ROOT_PATH /usr/los178/2.3.0/x86_dev/cdk/linux-coff-x86/)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
Run Code Online (Sandbox Code Playgroud)

对 cmake 的调用:

cmake -DCMAKE_TOOLCHAIN_FILE=lynxos.cmake -DUSE_TINY_XML=TRUE
Run Code Online (Sandbox Code Playgroud)

CMAKE_CXX_COMPILER 仍然默认使用我的默认编译器。从命令行使用 -D 设置 CMAKE_CXX_COMPILER 有效,但 cmake 给出警告:

You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_C_COMPILER= <path to compiler>
CMAKE_CXX_COMPILER= <path to compiler>
Run Code Online (Sandbox Code Playgroud)

然后我的其他 cmake 变量变得未定义。

尝试删除 CMakeCache.txt 文件。不工作。使用 CMake 2.8.11。知道出了什么问题吗?

c++ linux cmake cross-compiling

4
推荐指数
2
解决办法
4709
查看次数

Ada:gnat gprbuild如何在库中链接?

在我正在研究的这个多语言GPRBuild项目中,我有一些c ++库文件(*.a)我需要链接到我的可执行文件.是否有一个gpr属性告诉它将-l -L开关传递给链接器的链接是什么?

ada gnat

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

在 C++ 中重载运算符时如何防止整数歧义

鉴于以下代码:

#include <string>
#include <sstream>

class SomeClass {
public:
    SomeClass& operator<<(long value) { return *this; }

    SomeClass& operator<<(unsigned long value) { return *this; }

    SomeClass& operator<<(float value) { return *this; }

    SomeClass& operator<<(double value) { return *this; }

    SomeClass& operator<<(long double value) { return *this; }

    SomeClass& operator<<(bool value);
    { return *this; }

    SomeClass& operator<<(const void* value);
    { return *this; }

    SomeClass& operator<<(::std::string aString) { return *this; }
};

int main() {
    SomeClass aClass;
    std::ostringstream aStream;

    aClass << 2;
    aClass …
Run Code Online (Sandbox Code Playgroud)

c++ overloading ambiguity operator-keyword

2
推荐指数
1
解决办法
1075
查看次数