如何在编译时将库(lib.a)链接到cpp文件?

时间:2018-05-02 16:55:09

标签: c++ compiler-errors linker

我以前在(link)中提出的问题需要以适当的标题提出要求。我在这里就问我的问题。

如上面的链接所示,

之后
./configure > make > make install > aclocal > make

包含libsoft.a和libsoft.so的库文件在“softsusy-4.1.1 / .libs”中创建。

同样在“softsusy-4.1.1 / src / .libs”文件夹中,已经创建了所有必需的.o文件,其中.cpp文件包含/引用在main.cpp中。

在尝试编译main.cpp时,我尝试了

g++ -g main.cpp nmssmsoftsusy.cpp decays.cpp /path/config.h -o main
g++ -g -Wall -L/path/softsusy-4.1.1/src/.libs -llibsoft main.cpp -o test
g++ -g -Wall -llibsoft main.cpp -o main

其中main.cpp是

#include "main.h"
#include "nmssmsoftsusy.h"
#include "decays.h"

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

using namespace softsusy;

int main() {
  /// Sets up exception handling
  signal(SIGFPE, FPE_ExceptionHandler); 

然后我遇到了诸如

之类的错误
  

对'FPE_ExceptionHandler(int)'

的未定义引用

第一次和第二次试验,以及上次试用时不知道libsoft的错误:

  

/ usr / bin / ld:找不到-llibsoft

即使我将.h更改为.cpp文件或包括softsusy.h,也会出现此类错误。

我可以问你如何正确链接.o文件(其.cpp文件包含在main()中)或其他任何方式来运行main.cpp?

感谢。

0 个答案:

没有答案