【发布时间】:2009-10-26 21:34:30
【问题描述】:
我使用 https://bugs.kde.org/show_bug.cgi?id=205241 的补丁在 Snow Leopard 上安装了 valgrind。但是,当我使用从 C++ 代码编译的二进制文件运行它时,我被告知 valgrind“无法执行二进制文件”。我应该设置哪些 g++ 标志才能使我的程序与 valgrind 一起工作?
【问题讨论】:
标签: g++ osx-snow-leopard valgrind
我使用 https://bugs.kde.org/show_bug.cgi?id=205241 的补丁在 Snow Leopard 上安装了 valgrind。但是,当我使用从 C++ 代码编译的二进制文件运行它时,我被告知 valgrind“无法执行二进制文件”。我应该设置哪些 g++ 标志才能使我的程序与 valgrind 一起工作?
【问题讨论】:
标签: g++ osx-snow-leopard valgrind
确保使用 -m32 选项生成 32 位可执行文件。编译器默认为 64 位(假设您有 64 位机器),但 valgrind 尚未正式支持 Mac OS X 上的 64 位可执行文件。您的可执行文件上的file 命令应报告“Mach-O 可执行 i386 ”。
【讨论】: