首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理在Mac上安装cmocka时RPATH的问题?

如何处理在Mac上安装cmocka时RPATH的问题?
EN

Stack Overflow用户
提问于 2015-06-07 18:37:36
回答 1查看 1.3K关注 0票数 3

我正试图在MacOSXYosemite10.10.3上安装和运行cmocka库以进行单元测试,但是在设置上遇到了一些问题。

更新:

由于@baf,我能够手动将cmocka.h包括在CMakeLists.txt中,如下所示:

代码语言:javascript
复制
set(CMAKE_C_FLAGS_DEBUG "-I/usr/local/include/cmocka.h")

然而,,为什么我必须手动执行呢?

我已经尝试过许多不同的安装方法:

我到目前为止所做的事:

  1. 从这里下载cmocka:这里。1.0版。
  2. tar xvf cmocka-1.0.1.tar.xz
  3. cd cmocka-1.0.1mkdir buildcd build
  4. sudo cmake .. 我在这里收到这样的信息:

-配置已完成 CMake警告(dev): 未设置策略CMP0042 :默认情况下启用MACOSX_RPATH。运行"cmake --help-policy CMP0042“以获取策略细节。使用cmake_policy命令设置策略并取消此警告。 未为下列目标指定MACOSX_RPATH: cmocka_shared 此警告是针对项目开发人员的。使用-Wno-dev来抑制它。

问题1:我如何设置rpath,使没有像上面这样的警告?

  1. 数独make
  2. 数独make install
  3. 现在应该安装cmocka,对吗?

为我的程序运行cmake,该程序使用cmocka库。

所以现在我为我的程序运行cmake,我的主CMakeList.txt文件有如下所示的行:

代码语言:javascript
复制
find_library (CMOCKA cmocka)
if (NOT CMOCKA)
    message (WARNING "Cmocka library not found.")
endif (NOT CMOCKA)

但是这个警告在这个阶段没有出现,所以我相信find_libarary(CMOCKA cmocka)已经成功地在我的计算机上找到了cmocka

为我的程序运行make

在运行make时,会得到如下错误:

致命错误:“cmocka.h”文件未找到#包括生成的 ^1错误。

所以我想cmocka是找不到的。

问题2:为什么找不到cmocka库?

补充说明:

  1. 我试过跑步 出口LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

但没什么用。我想这是Linux的解决方案,而不是Mac。

  1. 我试着从cmake的官方文档中了解cmake上的处理。然而,我对此知之甚少,无法找到解决问题的办法。
  2. 我尝试过使用cmocka安装brew,但结果是相同的。
  3. 此外,我读过很多关于RPATH、链接和cmocka的问题,但我也找不到合适的解决方案。然而,以下是相关线程的列表:
代码语言:javascript
复制
- [How to set the runtime path (-rpath) of an executable with gcc under Mac OSX?](https://stackoverflow.com/questions/4513799/how-to-set-the-runtime-path-rpath-of-an-executable-with-gcc-under-mac-osx)
- [https://stackoverflow.com/questions/29721183/getting-undefined-symbols-for-architecture-x86-64-when-trying-to-build-on-osx](https://stackoverflow.com/questions/29721183/getting-undefined-symbols-for-architecture-x86-64-when-trying-to-build-on-osx)
- [How to configure scons to link using rpath on mac?](https://stackoverflow.com/questions/30271791/how-to-configure-scons-to-link-using-rpath-on-mac)
- [mariadb install failure: make (Mac OSX 10.6.8)](https://stackoverflow.com/questions/28043292/mariadb-install-failure-make-mac-osx-10-6-8)

  1. 我运行过otool -L cmocka。我得到的是: 错误: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool:无法打开文件: cmocka (没有这样的文件或目录)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 22:07:28

当我将-I/usr/local/include标志添加到调试标志中时,我成功地编译了我的程序(感谢baf):

代码语言:javascript
复制
set(CMAKE_C_FLAGS_DEBUG "-std=gnu99 -Wall -pedantic -g -I/usr/local/include/cmocka.h")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30697107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档