是否可以在gcc / g ++中强制执行链接器错误?

时间:2019-07-23 06:56:23

标签: c++ c gcc g++

考虑下一个C / C ++代码:

//Main.c 

#include <stdio.h>
#include "mkl_cblas.h"

int tfuuuuuuuuuuuuuu()
{
   int Num = 10;
   double A[30] = {0.0};
   double B[30] = {0.0};
   double C[9];
   cblas_dgemm(CblasRowMajor, CblasTrans, CblasNoTrans, 3, 3, Num, 1.0, A, 3, B, 3, 0.0, C, 3);
   return 0;  

}

在DLL项目的MSVC 2015(x64 Win7)中构建它会导致链接器错误:

unresolved external symbol cblas_dgemm referenced in function tfuuuuuuuuuuuu

应该这样做是因为我没有链接到blas库。

但是在gcc(8.2.0,Centos7)中构建相同的代码

$ gcc -c -fPIC -I./include -o Main.o Main.c

$ gcc -shared -o libTest.so Main.o

没有给出任何链接错误!。

  1. 即使我没有针对所需的库进行链接,为什么也没有出现链接器错误?

  2. 在这种情况下,是否有一个链接器选项强制链接器错误?

0 个答案:

没有答案