gpt4 book ai didi

c++ - 图书馆没有正确链接/包括

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:19 31 4
gpt4 key购买 nike

好吧,我知道这看起来像是重复的,但我已经通过搜索帖子尝试了大多数变体和尝试,但我仍然一无所获。问题是:我正在使用一个名为 libxls 的开源 C 库,该库用于读取 .xls 文件(恰本地命名为 project.. :))。我使用的代码直接来自他们的网站,本质上只是一个开始玩具示例,以确保我可以访问这些库:Link to their website with the source

#include <stdio.h>
#include "libxls/xls.h"

int main(){
xlsWorkBook* pWB;
pWB = xls_open("Book1.xls", "iso-8859-15//TRANSLIT");
return 0;
}

就是这样。现在,它的语法很好。我通过 nm 命令知道 xls_open 确实可以作为 .a 库中的函数使用,所以这不是问题。在我的目录中,我有以下文件(请原谅多余的命名,我只是想强制它真正快速地工作):

Book1.xls
libxlsreader.a
libxlsReader.c
libxlsreader.so

虽然我不认为我需要这里的 .so 文件,因为我已经尝试动态链接到它所在的位置,但我认为这不是一个糟糕的尝试计划。好吧,所以,在 include 行中,我不断得到共同点:

libxlsreader.c:3:37: fatal erro: libxls/xls.h: No such file or directory

好的,所以我可能在库中链接错误,看看我的编译行参数:

gcc -o libxlsWrapper libxlsReader.c -L /usr/local/lib/ -lxlsreader -lpthread

嗯,好吧.. 这当然看起来不错,/usr/local/lib/是库创建自己的地方,其中包含所有 .so 文件,以及我的 PWD 中的 .a 文件。现在,我是一名 Java 开发人员,所以我可能会遗漏一些非常明显的东西,但对于我来说,我无法确定它是什么。对我来说当然没问题。

我在 Linux Mint 15 KDE 32 位上使用 GCC (ubuntu/Linaro 4.7.3-lubunutul) 4.7.3。

如果您想为自己的测试或解决问题而重现该库,可以从

我不建议在 Windows 上重新创建它,我昨天尝试了几个小时然后放弃了,所以只需执行常规的 ./configure -> make -> make install 即可为您生成适当的库。

谢谢!

-将

编辑 #1:这是我尝试过的其他一些链接尝试,结果都相同。

gcc -o libxlsWrapper libxlsReader.c -L. -lxlsreader -I.
gcc -o libxlsWrapper libxlsReader.c -L. -lxlsreader -lpthread
gcc -o libxlsWrapper libxlsReader.c -L. -lxlsreader.so

我还用 g++ 代替 gcc 尝试了一堆(我知道是 throw 飞镖),结果相同。

最佳答案

请执行 find your_folder -type f -iname xls.h 然后使用 gcc -I/the_path 包含 xls.h 的路径。因为你遇到的问题是 gcc 找不到头文件 xls.h

关于c++ - 图书馆没有正确链接/包括,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19250879/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com