开发者

Do I need to give the option (-arch i386) for both compilation/link?

开发者 https://www.devze.com 2023-02-04 14:52 出处:网络
As is asked and answered in this post, I needed to give -arch i386 option for SWIG/C# integration. 开发者_StackOverflow社区

As is asked and answered in this post, I needed to give -arch i386 option for SWIG/C# integration.

开发者_StackOverflow社区

Do I need to give the option for both compilation/link?

g++ -c  -arch i386   example.cxx example_wrap.cxx 
g++ -arch i386 -bundle -undefined suppress -flat_namespace   example.o example_wrap.o    -o libexample.dylib


Have you tried it? A simple test with a C program on OS X 10.6 with a 64-bit capable machine suggests that, in general, you do need to specify -arch for both.

$ gcc -arch i386 -o x.o x.c
$ gcc x.o -o x.dylib
ld: warning: in x.o, file was built for i386 which is not the architecture being linked (x86_64)

Intuitively, the linker does need to know which set of architecture-specific libraries to link with.

0

精彩评论

暂无评论...
验证码 换一张
取 消