- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以...有人能看出我在这里做错了什么吗?!?我正在尝试按照他们在 http://heasarc.gsfc.nasa.gov/fitsio/CCfits/html/readimage.html 的示例使用 CCfits
读取 C++ 中的 *.fits
文件.
#include <iostream>
#include <valarray>
#include <CCfits/CCfits.h>
#include <CCfits/PHDU.h>
namespace fit = CCfits;
int main(int argc, char * argv[]) {
fit::FITS inFile(
"../data/example/example.fits",
fit::Read,
true
);
fit::PHDU & phdu = inFile.pHDU();
std::valarray<unsigned int> fitsImage;
phdu.read(fitsImage);
return 0;
}
我收到以下错误:
undefined reference to `void CCfits::PHDU::read<unsigned int>(std::valarray<unsigned int>&)'
collect2: error: ld returned 1 exit status
我正在链接:
g++ test.cpp -o test -L/usr/lib/x86_64-linux-gnu/ -std=c++11 -lCCfits -lcfitsio
虽然我查看了 /usr/include/CCfits/PHDU.h
并且它有这个:
template<typename S>
void read(std::valarray<S>& image);
有没有可能 libCCfits
编译不正确?
(这与 CCfits library demo code not working 有点相关,但由于没有人真正扩展它......我一无所有)。这快把我逼疯了,我想我错过了一些非常明显的东西。
谢谢。
最佳答案
如果没有 libCCfits.so
,这是您使用的 Linux 发行版中的一个错误。 (我在旧版 Fedora 发行版上遇到过与其他库的等效问题。)修复它的最简单方法是添加来自 libCCfits.so
和 libCCfits.so.0
的符号链接(symbolic link)> 到 libCCfits.so.0.0.0
,假设后者存在于 ..../.libs
文件夹中。另一种方法是通过
CCfits-2.4.tar.gz
的源码包
tar -xzf CCfits-2.4.tar.gz
cd CCfits
./configure --prefix=.... --with-cfitsio-include=..../cfitsio/cfitsio --enable-static LDFLAGS="-L..../cfitsio/cfitsio"
圆点的位置取决于您的偏好和底层 cfitsio 的位置。
关于c++使用ccfits读取适合文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22820019/
我是 C++ 新手。最终,我试图从 python 中翻译一些代码,以便对一些超新星模拟进行分析。但是,为了做到这一点,我必须能够将 .fits 文件作为数组导入到我的 C++ 代码中。我下载了 cfi
我想使用 ccfits 创建一组非平方图像。我可以在 primaryHDU 中制作一个,像这样: long axes[2] = { jmax, imax }; std::auto_ptr pFit
采用以下代码: #include #include #include int main () { std::string file ( "somefits.fits" ); std::c
我是一名优秀的程序员,十分优秀!