小编Nic*_*wes的帖子

在OSX上通过dlopen打开库时调试崩溃

我在开发的C++应用程序中遇到问题,该应用程序使用dlopen加载用户开发的库.在过去的几年里,应用程序已被各种各样的人使用在各种Linux发行版和OSX版本上,因此我假设我使用dlopen是可以的,依赖于它的代码也是如此(是的,这是狂妄自大,所以当它失败时我会报告回来.我现在遇到的问题是用户开发了一个不在我的系统上加载的库(OSX 10.6.4).当系统尝试加载它时会发生冻结然后崩溃.在崩溃报告中崩溃的线程如下所示:

Thread 5 Crashed:
0   com.apple.CoreFoundation        0x00007fff80fa6110 __CFInitialize + 1808
1   dyld                            0x00007fff5fc0d5ce ImageLoaderMachO::doImageInit(ImageLoader::LinkContext const&) + 138
2   dyld                            0x00007fff5fc0d607 ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 27
3   dyld                            0x00007fff5fc0bcec ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 236
4   dyld                            0x00007fff5fc0bc9d ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 157
5   dyld                            0x00007fff5fc0bc9d ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 157
6   dyld                            0x00007fff5fc0bc9d ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 157
7   dyld                            0x00007fff5fc0bc9d ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 157
8   dyld                            0x00007fff5fc0bc9d ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 157
9 …
Run Code Online (Sandbox Code Playgroud)

c++ debugging macos dlopen

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

自制软件无法找到gcc

我无法让自制软件在Lion上工作.出于某种原因,它正在捡起clang而不是gcc.

==> Upgrading gnutls
...
checking for gcc...
/usr/bin/clang checking whether the C compiler works... no
Run Code Online (Sandbox Code Playgroud)

'brew doctor'说:

We couldn't detect gcc 4.2.x. Some formulae require this compiler. NOTE: Versions of XCode newer than 4.2 don't include gcc 4.2.x.
Run Code Online (Sandbox Code Playgroud)

注意:我已经从XCode安装了命令行工具,包括gcc.

$ which gcc
/usr/bin/gcc
$ gcc -v
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
Run Code Online (Sandbox Code Playgroud)

我如何强制brew使用gcc?

homebrew gcc

6
推荐指数
1
解决办法
8949
查看次数

标签 统计

c++ ×1

debugging ×1

dlopen ×1

gcc ×1

homebrew ×1

macos ×1