【问题标题】:Cross Compiling problems with nestled CMakelists.txt files嵌套 CMakelists.txt 文件的交叉编译问题
【发布时间】:2015-02-23 07:29:50
【问题描述】:

我确实需要在我的项目(英特尔和 PowerPC)中包含“交叉编译”,但我发现定义目标时出现问题。我有以下文件夹结构:

  • *.h

  • *.cpp

  • CMakeLists.txt

src

  • *.h

  • *.cpp

  • CMakeLists.txt

...

-CMakeLists.txt

如果在 src 文件夹的 CMakeLists.txt 中写入以下代码,它可以工作...

ADD_EXECUTABLE( intel ${SOURCES} ) SET_TARGET_PROPERTIES( intel PROPERTIES OUTPUT_NAME ${APP_NAME}_INTEL EXCLUDE_FROM_ALL true ) TARGET_LINK_LIBRARIES( intel ${LIBS_INTEL}  )

但是我真的不知道如何在库(libs 文件夹)的 CMakeLists 中执行此操作。如果我遵循相同的结构并使用“intel”作为目标,它会返回一条错误消息,指出“目标名称已被使用”。

我确实想用这两个选项编译我的所有项目:

"make intel" --> 生成 Intel 版本和 "make powerPc" --> 生成 PowerPC 版本

我一直在互联网上寻找它,但我找不到正确的解决方案。

希望有人能帮助我。

【问题讨论】:

    标签: cmake makefile cross-compiling intel target


    【解决方案1】:

    我终于找到了解决方案。就像在主 CMakeLists.txt 文件中使用以下宏一样简单。

    ADD_CUSTOM_TARGET(INTEL 依赖 EXECUTABLE1 EXECUTABLE2 ... EXECUTABLEN)

    和其他目标powerpc一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2021-07-26
      相关资源
      最近更新 更多