0

これはおそらく関連しています

C ++の読み取りは、ccfitsを使用してファイルに適合します

それは決して答えられませんでした。

とにかく、私の質問が再現しやすいことを願っています。CCfits のサンプル プログラムは次の場所にあります。

http://heasarc.gsfc.nasa.gov/fitsio/CCfits/html/cookbook.html

私はこれを使用してコンパイルしようとしています:

g++ cookbook.cpp -o cookbook -lCCfits -lcfitsio

ファイル内のすべての CCfits 関数でリンクが失敗します。

/tmp/cc7hVaju.o: 関数main': cookbook.cpp:(.text+0x14): undefined reference towriteImage() 内で cookbook.cpp:(.text+0x31): writeAscii()' cookbook.cpp:(.text+0x4e): undefined reference towriteBinary() への未定義の参照 cookbook.cpp:(.text+0x6b): readHeader() への未定義の参照copyHDU()' cookbook.cpp:(.text+0x88): undefined reference to' cookbook .cpp:(.text+0xa5): readImage()' cookbook.cpp:(.text+0xc2): undefined reference toreadTable() への未定義の参照' cookbook.cpp:(.text+0xdf): readExtendedSyntax()' cookbook.cpp:(.text+0xfc): undefined reference toselectRows() への未定義の参照' collect2: エラー: ld が 1 つの終了ステータスを返しました

Ubuntuに付属のCCfitsパッケージでこれを試しました。また、パッケージを自分でインストールしようとしました。同じエラー。

奇妙なことに、コマンド ラインにライブラリを含めないと、同様のメッセージが表示されます (つまり、"g++ cookbook.cpp -o cookbook")。1 つの違いは、次のエラーも発生することです。

/tmp/ccMVMkSB.o: 関数CCfits::FITS::setVerboseMode(bool)': cookbook.cpp:(.text._ZN6CCfits4FITS14setVerboseModeEb[_ZN6CCfits4FITS14setVerboseModeEb]+0xf): undefined reference to内 CCfits::FITS::s_verboseMode'

これは手がかりに違いないよね?私が名前を付けたライブラリには、存在するものの、必要な機能がすべて含まれているわけではないようです。

助けてくれてありがとう、

チャールズ

4

1 に答える 1