diary/Kojima/2012-05-19
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・Qt-4.8.1と-fvisibility
Qt-4.8.1が出ていたので,4.7.1から更新しようとチェック.ざ...
4.7.1で当てていたfake-bold用のパッチはそのままでは当たら...
とりあえずBLFSのQt-4.8.1にあったGCC-4.7用のパッチとglib-2...
インストール先をlib64にするパッチをあてて,BLFSの指定して...
ビルドそのものは問題なく終ったものの,このQt-4.8.1をイン...
うまくコンパイルが通らなくなる.
最初に気付いたのはlibdbusmenu-qt-0.9.2で,ビルドしようと...
$ make
...
[ 51%] Built target dbusmenu-qt
Linking CXX executable dbusmenuexportertest
CMakeFiles/dbusmenuexportertest.dir/dbusmenuexportertest...
In function `DBusMenuExporterTest::testGetSomeProp...
dbusmenuexportertest.cpp:(.text+0x1df7): undefined refer...
`DBusMenuExporter::DBusMenuExporter(QString const&, Q...
QDBusConnection const&)'
dbusmenuexportertest.cpp:(.text+0x275b): undefined refer...
`DBusMenuExporter::~DBusMenuExporter()'
dbusmenuexportertest.cpp:(.text+0x27df): undefined refer...
`DBusMenuExporter::~DBusMenuExporter()'
...
と,DBusMenuExporterTest クラスの関数が参照できない,とい...
通常,この手のエラーは,Makefileでリンクするライブラリや...
間違っていることが多いので,さて,どういうコマンドでリン...
Makefileを調べてみると,cmake で生成されたMakefileなので...
何とか見つけたVERBOSE=1というオプションを指定して実行して...
/usr/bin/g++ -isystem /usr/include -m64
CMakeFiles/dbusmenuexportertest.dir/dbusmenuexportert...
CMakeFiles/dbusmenuexportertest.dir/testutils.cpp.o
-o dbusmenuexportertest -rdynamic -lQtGui -lQtCore -l...
../src/libdbusmenu-qt.so.2.6.0 -lQtGui -lQtCore -lQtD...
-Wl,-rpath,/nfs/Srcs/L/Libs/Dbusmenu-qt/build/src
こんなコマンドラインでリンクしていることが分かった.一方...
DBusMenuExporterTestクラスはどこで定義されているのか,と...
このパッケージ自身が生成したライブラリである ../src/libdb...
(リンクエラーが生じているのはtest/以下のテスト用プログラム)
Cの場合は,このコマンドラインを元に-lでライブラリを追加し...
ライブラリをリンクする順番を変えてみたりしてやれば何とか...
あれこれ試してみたけど効果なし.
Google等で調べてみても特に該当する情報は無いし,
Qt-4.7.1の環境でビルドしようとすると問題なくこの部分も通...
システム側のQtライブラリをリンクしないようにすると
DBusMenuExporterTestクラス以前にQtの提供するクラスが見つ...
Qt-4.8.1側の問題であることは確かそうなんだけど,
さて,4.7.1と4.8.1で何が変わったんだろう..と首をひねっ...
#comment
終了行:
[[diary/Kojima]]
・Qt-4.8.1と-fvisibility
Qt-4.8.1が出ていたので,4.7.1から更新しようとチェック.ざ...
4.7.1で当てていたfake-bold用のパッチはそのままでは当たら...
とりあえずBLFSのQt-4.8.1にあったGCC-4.7用のパッチとglib-2...
インストール先をlib64にするパッチをあてて,BLFSの指定して...
ビルドそのものは問題なく終ったものの,このQt-4.8.1をイン...
うまくコンパイルが通らなくなる.
最初に気付いたのはlibdbusmenu-qt-0.9.2で,ビルドしようと...
$ make
...
[ 51%] Built target dbusmenu-qt
Linking CXX executable dbusmenuexportertest
CMakeFiles/dbusmenuexportertest.dir/dbusmenuexportertest...
In function `DBusMenuExporterTest::testGetSomeProp...
dbusmenuexportertest.cpp:(.text+0x1df7): undefined refer...
`DBusMenuExporter::DBusMenuExporter(QString const&, Q...
QDBusConnection const&)'
dbusmenuexportertest.cpp:(.text+0x275b): undefined refer...
`DBusMenuExporter::~DBusMenuExporter()'
dbusmenuexportertest.cpp:(.text+0x27df): undefined refer...
`DBusMenuExporter::~DBusMenuExporter()'
...
と,DBusMenuExporterTest クラスの関数が参照できない,とい...
通常,この手のエラーは,Makefileでリンクするライブラリや...
間違っていることが多いので,さて,どういうコマンドでリン...
Makefileを調べてみると,cmake で生成されたMakefileなので...
何とか見つけたVERBOSE=1というオプションを指定して実行して...
/usr/bin/g++ -isystem /usr/include -m64
CMakeFiles/dbusmenuexportertest.dir/dbusmenuexportert...
CMakeFiles/dbusmenuexportertest.dir/testutils.cpp.o
-o dbusmenuexportertest -rdynamic -lQtGui -lQtCore -l...
../src/libdbusmenu-qt.so.2.6.0 -lQtGui -lQtCore -lQtD...
-Wl,-rpath,/nfs/Srcs/L/Libs/Dbusmenu-qt/build/src
こんなコマンドラインでリンクしていることが分かった.一方...
DBusMenuExporterTestクラスはどこで定義されているのか,と...
このパッケージ自身が生成したライブラリである ../src/libdb...
(リンクエラーが生じているのはtest/以下のテスト用プログラム)
Cの場合は,このコマンドラインを元に-lでライブラリを追加し...
ライブラリをリンクする順番を変えてみたりしてやれば何とか...
あれこれ試してみたけど効果なし.
Google等で調べてみても特に該当する情報は無いし,
Qt-4.7.1の環境でビルドしようとすると問題なくこの部分も通...
システム側のQtライブラリをリンクしないようにすると
DBusMenuExporterTestクラス以前にQtの提供するクラスが見つ...
Qt-4.8.1側の問題であることは確かそうなんだけど,
さて,4.7.1と4.8.1で何が変わったんだろう..と首をひねっ...
#comment
ページ名: