尝试在Mac上编译Qualnet时,出现以下错误: ld:警告:在../kernel/obj/mobility_private.o-darwin-x86-gcc-4.0中,文件不是必需的体系结构 以及此类其他文件的一堆错误。 所以我想知道是否还有解决问题的方法。 焦急地等待帮助。
答案 0 :(得分:0)
这意味着您正在尝试链接不同架构的对象。
例如,有一个为i386(32位)编译的对象和另一个为x86_64(64位)编译的对象。
确保为目标体系结构编译所有对象。您的选择是:
mobility_private.o
64位(-arch x86_64); mobility_private.o
(-arch i386 -arch x86_64); mobility_private.o
。答案 1 :(得分:0)
您可以使用 file 检查某个二进制文件的体系结构:
file libdynlib.so
libdynlib.so: Mach-O 64-bit dynamically linked shared library x86_64
您必须将程序编译为您正在使用的库的相同体系结构。所以,一切都必须是32位或64位。