0
나는 블리츠 라이브러리의 초보자입니다. 나는 다음과 전격 ++ 사용 설명서에 입력 및 출력 배열에 대한 코드를 컴파일 할 때 :Blitz ++의 코드에 관하여
#include <blitz/array.h>
#include <fstream>
BZ_USING_NAMESPACE(blitz)
const char* filename = "io.data";
void write_arrays()
{
ofstream ofs(filename);
if (ofs.bad())
{
cerr << "Unable to write to file: " << filename << endl;
exit(1);
}
Array<float,3> A(3,4,5);
A = 111 + tensor::i + 10 * tensor::j + 100 * tensor::k;
ofs << A << endl;
Array<float,2> B(3,4);
B = 11 + tensor::i + 10 * tensor::j;
ofs << B << endl;
Array<float,1> C(4);
C = 1 + tensor::i;
ofs << C << endl;
}
int main()
{
write_arrays();
ifstream ifs(filename);
if (ifs.bad())
{
cerr << "Unable to open file: " << filename << endl;
exit(1);
}
Array<float,3> A;
Array<float,2> B;
Array<float,1> C;
ifs >> A >> B >> C;
cout << "Arrays restored from file: " << A << B << C << endl;
return 0;
}
난 항상 다음과 같은 오류가있어 :
이"
readtest.cpp:(.text+0x246): undefined reference to `blitz::tensor::k'
readtest.cpp:(.text+0x26c): undefined reference to `blitz::tensor::j'
readtest.cpp:(.text+0x281): undefined reference to `blitz::tensor::i'
readtest.cpp:(.text+0x69a): undefined reference to `blitz::tensor::j'
readtest.cpp:(.text+0x6b8): undefined reference to `blitz::tensor::i'
readtest.cpp:(.text+0x981): undefined reference to `blitz::tensor::i'
"
이 사람이 나를 도울 수 있습니까? 고마워요!
이들은 링커 오류이며 컴파일 오류가 아닙니다. 링크 단계에서 블리치 라이브러리를 포함하지 않을 가능성이 있습니다. 당신의 커맨드 라인은 무엇입니까? –
도움을 주셔서 감사합니다. 내 명령은 입니다. "g ++ -O2 -static -I/usr/local/genomics/blitz -L/usr/local/genomics/blitz/lib -lblitz -o exe_readtest readtest.cpp" – user2380245
시도해보십시오. "정적"없이 – Sven