我从github克隆了别人的c++代码,但是无法编译。作者告诉我他使用的gcc版本是4.8.4并且他能够成功运行它。因此我使用
然而,在编译过程中出现了错误:
我该如何安装特定版本的gcc(4.8.4)?或者,我该如何解决这个问题?谢谢!
brew install homebrew/versions/gcc48
安装了gcc48,并在他的代码文件夹中的makefile
中指定了gcc
的版本。然而,在编译过程中出现了错误:
g++-4.8 -c -pipe -O3 BurstyBTM.cpp -o BurstyBTM.o
BurstyBTM.cpp: In member function 'Pvec<double> BurstyBTM::compute_pz_b(Biterm&)':
BurstyBTM.cpp:129:23: error: could not convert 'pz.Pvec<T>::normalize<double>(0.0)' from 'void' to 'Pvec<double>'
return pz.normalize();
^
BurstyBTM.cpp: In member function 'void BurstyBTM::save_pz(std::string)':
BurstyBTM.cpp:158:41: error: conversion from 'void' to non-scalar type 'Pvec<double>' requested
Pvec<double> pz = nb_z.normalize(alpha);
^
BurstyBTM.cpp: In member function 'void BurstyBTM::save_pw_z(std::string)':
BurstyBTM.cpp:164:37: error: conversion from 'void' to non-scalar type 'Pmat<double>' requested
Pmat<double> pw_z = nwz.normr(beta);
^
make: *** [BurstyBTM.o] Error 1
我该如何安装特定版本的gcc(4.8.4)?或者,我该如何解决这个问题?谢谢!
BurstyBTM.o
、BurstyBTM.h
和BurstyBTM.cpp
。 - user4462740ld: symbol(s) not found for architecture x86_64
上面的错误行? - Mathieu