- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Mac OS 10.8.5 上使用 MATLAB R2013a 编译需要 mpfr C 库的 mex 文件。我希望它在没有单独安装 MPFR 的系统上运行,因此我尝试包含静态库:
mex my_program.c libmpfr.a
我将 libmpfr.a 库复制到带有源代码的文件夹中以简化操作。当我运行此命令时,我收到以下错误消息:
ld: targeted OS version does not support use of thread local variables in _mpfr_add for architecture x86_64
一些研究表明,此问题可能是由于 Xcode 附带且默认在 MATLAB 中使用的 llvm-gcc-4.2 编译器的问题所致。因此,我尝试设置不同的编译器。我从 MacPorts 获得了 GCC 4.7.4(MATLAB 支持的最新版本),如下所述:http://www.ficksworkshop.com/blog/14-coding/65-installing-gcc-on-mac 。接下来,我编辑了 mexopts.sh 文件,通过输入以下设置将 MATLAB 指向正确的编译器:
CC='/opt/local/bin/gcc-mp-4.7'
CXX='/opt/local/bin/g++-mp-4.7'
现在,当我尝试编译时,我收到不同的错误消息:
In file included from /Applications/MATLAB_R2013a.app/extern/include/matrix.h:294:0,
from /Applications/MATLAB_R2013a.app/extern/include/mex.h:58,
from include/main.h:5,
from include/poisson.h:7,
from src/main.c:22:
/Applications/MATLAB_R2013a.app/extern/include/tmwtypes.h:61:21: fatal error: float.h: No such file or directory
如果,在mexopts.sh中,我另外设置了
SDKROOT='/opt/local/'
或许多其他选择(基于我可以在系统上找到的 float.h 不同副本的位置),我反而看到
my_program.c:10:20: fatal error: stdlib.h: No such file or directory
看来 GCC-MP-4.7 无法找到所有标准 C 库。
如果能找到这些问题的解决方案(使用默认编译器链接到静态 mpfr,或配置 GCC 4.7 来查找标准 C 库),我将不胜感激。
最佳答案
我发现“线程局部变量”错误是由编译器试图包含对 OSX 10.5 的向后兼容性引起的。由于我不需要它来执行此操作,因此我编辑了 mexopts.sh 文件,替换了这一行
MACOSX_DEPLOYMENT_TARGET='10.5'
这样:
MACOSX_DEPLOYMENT_TARGET='10.8'
这导致使用内置 Xcode 编译器成功编译 mex 文件。
关于c - 将 mex 文件链接到静态 mpfr 库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703899/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!