OSX Lion にビルド ファイルがあります
VPATH = src include
CFLAGS ="-I include -std=gnu99"
hello: hello.o
gcc $^ -o $@
hello.o: hello.h hello.c
gcc $(CFLAGS) -c $< -o $@
しかし、このmakeファイルを実行しようとすると、次のエラーが発生します
ld: warning: ignoring file hello.o, file was built for unsupported file format which is not the architecture being linked (x86_64)
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
フラグを使用してみまし-arch x86_64
たが、それでも同じエラーが発生します。
arch
コマンドを実行すると、次のようになりますi386
。
uname -a
私に言います:Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
また、Mac OSX 10.6 で iOS 4.2 用の OpenCV2.2 をコンパイルしているときに、リンクされているアーキテクチャ (x86_64) ではない i386 用にビルドさ-march=x86-64
れたこの応答ファイルで説明されているように、スイッチを追加しようとしましたが、うまくいきませんでした。
コマンドラインからの出力は次のとおりです。
gcc -I include -std=gnu99 -m64 -c include/hello.h -o hello.o
gcc -I include -std=gnu99 -m64 hello.o -o hello
ld: warning: ignoring file hello.o, file was built for unsupported file format which is not the architecture being linked (x86_64)
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [hello] Error 1