-PR-
締切済み

共有ライブラリロードエラー(_Znwj)

  • すぐに回答を!
  • 質問No.212712
  • 閲覧数1084
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 71% (56/78)

LINUXのGCCで,共有ライブラリを作成しようとしています。

ライブラリとして提供する関数の中で,エリアを new しているものがあるのですが,こうして作成したライブラリ(mytest.so.1.0)をアプリケーションから dlopen() で開こうとすると,
 Error of dlopen() : ./mytest.so.1.0: undefined symbol: _Znwj
となってしまいます。

この _Znwj というのがよくわからないのですが,nmコマンドでmytest.so.1.0
の情報を表示してみると,
    :
 00001e18 A _DYNAMIC
 00001dcc A _GLOBAL_OFFSET_TABLE_
  U _Znwj
 00001dc0 ? __CTOR_END__
 00001dbc ? __CTOR_LIST__
    :
となっており,確かに“未定義”として _Znwj というのが表示されます。

共有ライブラリの中で new を使用する場合は,なにか注意点などあるのでしょうか。
たとえば,コンパイルオプションでなにかを指定するとか・・

C/C++系の質問コーナーに発言するほうが良いのかもしれませんが,LINUX特有のことなので,こちらに質問しました。
ご存知の方,教えてください。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ