2016-11-18 12 views
1
私は私のプロジェクトでこれらのライブラリを使用しています

最後のリンクに失敗しました:Nonrepresentableセクションを出力collect2は上:エラー:ldが返さ1つの終了ステータス

g++ -std=c++1y -I ../../date main.cpp -lpthread -lsqlpp-mysql -lmysqlclient -lboost_system -ljson11 

を使用して私のプロジェクトをコンパイルすると日常が、昨日まで完全に罰金走っていました。しかし、今私は このエラーを取得しています、

┌─[[email protected]] - [~/Work/algorithm] - [Fri Nov 18, 18:33] 
└─[$] <git:(riskProfiling*)> g++ -std=c++1y -I ../../date main.cpp -lpthread -lsqlpp-mysql -lmysqlclient -lboost_system -ljson11 
/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(connection.cpp.o): relocation R_X86_64_32 against symbol `[email protected]@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC 
/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(prepared_statement.cpp.o): relocation R_X86_64_32 against symbol `[email protected]@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC 
/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(char_result.cpp.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC 
/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(bind_result.cpp.o): relocation R_X86_64_32 against symbol `[email protected]@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC 
/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(connection_handle.cpp.o): relocation R_X86_64_32 against symbol `[email protected]@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC 
/usr/bin/ld: final link failed: Nonrepresentable section on output 
collect2: error: ld returned 1 exit status 
┌─[[email protected]] - [~/Work/algorithm] - [Fri Nov 18, 18:53] 
└─[$] <git:(riskProfiling*)> 
+0

おそらく、図のように-fPICオプションを使うべきでしょうか? –

+0

json11ヘルパー関数と何か関係がありますが、その中には静的なものもあります。さらに、 'json11.hpp'ファイルに示されているように、json11が数字を扱う方法に関係するかもしれません。 –

+0

関連:https://stackoverflow.com/questions/1521859/nonrepresentable-section-on-output-error-during-linking-on-linux –

答えて

2

は最後に、私は解決策を考え出しました。

g++バージョンで問題でした。最近のバージョンg++-5g++-6にはこのような問題がありますが、古いバージョンに戻ると、g++のバージョン4.9.2がすべてスムーズに実行されています。

+0

ありがとう、これはうまくいきました。私はUbuntuのバージョン17にアップグレードした後、この問題を抱えていました。-fPICを使ってコンパイルしても役に立ちませんでした。以前のg ++​​バージョンを使用せずにこれを修正する方法を見つけましたか? –

+0

@JesseBusman:いいえ、私は何も見つかりませんでした。しかし、図書館の作者は、自分のマシンでの作業だと主張しています。だから私は自分自身でこれを理解する必要があると思う。 – Shravan40

関連する問題