これはおそらく関連しています
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 to
writeImage() 内で cookbook.cpp:(.text+0x31):writeAscii()' cookbook.cpp:(.text+0x4e): undefined reference to
writeBinary() への未定義の参照 cookbook.cpp:(.text+0x6b): readHeader() への未定義の参照copyHDU()' cookbook.cpp:(.text+0x88): undefined reference to
' cookbook .cpp:(.text+0xa5):readImage()' cookbook.cpp:(.text+0xc2): undefined reference to
readTable() への未定義の参照' cookbook.cpp:(.text+0xdf):readExtendedSyntax()' cookbook.cpp:(.text+0xfc): undefined reference to
selectRows() への未定義の参照' 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'
これは手がかりに違いないよね?私が名前を付けたライブラリには、存在するものの、必要な機能がすべて含まれているわけではないようです。
助けてくれてありがとう、
チャールズ