をアセンブリルーチンを呼び出すと、アセンブリファイルmath.nasm にNABS私が使用していたファイルmyfunc.c
でC関数func1のからこの関数を呼び出しています私はXcodeの設定プロジェクトの設定にXcodeの3.1バージョンと私はUSE_x86_ASM私は機能を書かれている客観Cで
を定義しているGCC 4.0コンパイラを使用していますアセンブリファイル用NASMアセンブラは、//NASMを構築-DUSE_X86_ASM
はまた、私はこの前に定義されているなどのオプション/他のフラグを構築-procesヘッダファイルmyfunc.hでSORも
Iは
#define USE_x86_ASM
int nABS(int a);
としてmyfunc.hにNABSを宣言し、両方myfunc.cとmath.nasmはsussessfulyコンパイル生成さmyfunc.c
でmyfunc.hが含まれていますmath.oとmyfunc.oが、私はリンクエラーを取得する
Undefined symbols:
"_nABS", referenced from:
_func1 in myFunc.o
は、誰もが、なぜ私がリンクエラーを取得しています私に言うことができますか?
私は変更私は
.text
.align 2
.globl _nABS
.private_extern _nABS
_nABS次のように変更されたコードである条件IFDEF%を除去するだけで提案た: プッシュEBX ......を..... pop ebx
ret まだ同じリンクエラーが発生していますが、ファイルがコンパイルされていますが、同じリンクエラーが発生します。 生成された.oがapp.LinkFileListに含まれていることを確認しました。