のアーキテクチャx86_64で見つかりません:sshtアーキテクチャの衝突?記号(S)私はCライブラリをインストールしようとしているMAC
私はメイクファイルを設定していると、それは間違いなく依存関係を見つけることです。私はそれがGCCを使用して作成すると、しかし、私はいくつかの警告が出ます:
In file included from ../ssht/src/c/ssht_core.c:23:0:
../ssht/src/c/ssht_core.c: At top level:
../ssht/src/c/ssht_sampling.h:39:20: warning: inline function ‘ssht_sampling_ind2elm’ declared but never defined
extern inline void ssht_sampling_ind2elm(int *el, int *m, int ind);
そして私はコードのテストを行うとき、私はエラーを取得する:
"_ssht_sampling_elm2ind", referenced from:
_ssht_test_gen_flm_complex.constprop.1 in ssht_test.o
_ssht_test_gen_flm_real in ssht_test.o
_ssht_test_gen_lb_flm_real in ssht_test.o
_ssht_test_gen_flm_complex in ssht_test.o
_ssht_test_gen_lb_flm_complex in ssht_test.o
_main in ssht_test.o
_ssht_core_mwdirect_inverse in libssht.a(ssht_core.o)
...
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [../ssht/bin/c/ssht_test] Error 1
私がされていないました私が理解できる解決策を見つけることができます。私は物事を変えかどうかを確認するために-m32と32ビットのインストールとしてインストールしようとした
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin14.4.0/5.1.0/lto-wrapper
Target: x86_64-apple-darwin14.4.0
Configured with: ../gcc-5.1.0/configure --enable-languages=c++,fortran
Thread model: posix
gcc version 5.1.0 (GCC)
が、私はi386の代わりにx86_64版と同じエラーが表示されます。ちなみに私のgccのバージョンがあります。
私はLinuxマシンにインストールしました。これは、依存関係の1つを除いて同一のmakefileでアクセスすることもできます。
助けてください!
'ssht_sampling_ind2elm'はどのように見えますか? – ead
@eadこの関数は次のようになります:inline void ssht_sampling_elm2ind(int * ind、int el、int m){ * ind = el * el + el + m; } –
GNU89でビルドするべきかもしれません(おそらくC99をビルドしていると思います)。 http://stackoverflow.com/questions/216510/extern-inline/216546#216546 – ead