Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linker 我试图通过MSYS2为windows构建Libxls静态库和dynamic库,但它';它不工作了_Linker_Mingw_Static Libraries_Mingw32_Msys2 - Fatal编程技术网

Linker 我试图通过MSYS2为windows构建Libxls静态库和dynamic库,但它';它不工作了

Linker 我试图通过MSYS2为windows构建Libxls静态库和dynamic库,但它';它不工作了,linker,mingw,static-libraries,mingw32,msys2,Linker,Mingw,Static Libraries,Mingw32,Msys2,我试图通过MSYS2为Windows构建一个Libxls的静态库和动态库,但没有成功 我的MSYS2环境具备gcc g++libiconv等所需的一切 我已经阅读了安装文档和自述文档,它对我不起作用,但我刚刚找到了真正帮助我的博客,我尝试了以下步骤 #一, #二, 这里一切正常,没有错误,我看到libxlsreader.dll.a、libxlsreader.la、libxlsreader.lai、libxlsreader-8.dll被生成 然后我尝试了第三步 #三, 在这一步中,我看到生成了.

我试图通过MSYS2为Windows构建一个Libxls的静态库和动态库,但没有成功

我的MSYS2环境具备gcc g++libiconv等所需的一切 我已经阅读了安装文档和自述文档,它对我不起作用,但我刚刚找到了真正帮助我的博客,我尝试了以下步骤

#一,

#二,

这里一切正常,没有错误,我看到libxlsreader.dll.a、libxlsreader.la、libxlsreader.lai、libxlsreader-8.dll被生成 然后我尝试了第三步

#三,

在这一步中,我看到生成了.o文件,然后我尝试构建一个dll文件和def文件

#四,

之后,它生成了libxls.dll,它是94k,并且只有2个函数 哪些是

_nm__brdb @1 DATA
_nm__xls_debug @2 DATA
这些并不是我未解释的,因为它应该生成一个文件,其中包含一系列使用libxlsreader-8.dll的函数, 我在这里上传了这个文件,结果文件在.libs文件夹中


知道我做错了什么吗?非常感谢你,这似乎不是构建libxls这样的库的正确方法。 您应该真正运行
/configure
脚本,该脚本生成
Makefile
,该文件完成构建适当库所需的所有工作,包括在DLL中正确导出符号所需的内容

以下是我如何使用MinGW-w64从MSYS2 shell执行此操作:

# install location (change as needed)
INSTALLPREFIX=/usr/local
wget https://github.com/libxls/libxls/releases/download/v1.6.1/libxls-1.6.1.tar.gz
tar xfz libxls-1.6.1.tar.gz
cd libxls-1.6.1
./configure --prefix=$INSTALLPREFIX --enable-static --enable-shared &&
 make install-strip &&
 echo SUCCESS

它工作!!!我安抚它,它真的很有帮助
ar x libxlsreader.dll.a
i686-w64-mingw32-gcc -shared -o libxls.dll *.o -Wl,--export-all-symbols,--output-def,libxls.def -liconv
_nm__brdb @1 DATA
_nm__xls_debug @2 DATA
# install location (change as needed)
INSTALLPREFIX=/usr/local
wget https://github.com/libxls/libxls/releases/download/v1.6.1/libxls-1.6.1.tar.gz
tar xfz libxls-1.6.1.tar.gz
cd libxls-1.6.1
./configure --prefix=$INSTALLPREFIX --enable-static --enable-shared &&
 make install-strip &&
 echo SUCCESS