【问题标题】:How would I go about linking libcsv library to my GCC compiler?我将如何将 libcs​​v 库链接到我的 GCC 编译器?
【发布时间】:2020-08-25 22:08:48
【问题描述】:

我正在做一个需要解析 csv 文件的项目,我决定使用 rgamble 的 libcs​​v 库来完成这项工作。

我按照他的安装指南进行操作:

./configure
make
make check
make install

似乎一切都已正确安装。我什至在我的 ubuntu 和 debian WSL 终端上更新、升级和安装 build-essential 以尝试使其正常工作。

由于某种原因,在尝试编译我的文件时,使用以下命令

gcc -g -Wall -L./libcs​​v -libcs​​v *.c -o main

gcc -g -Wall *.c -Llibcs​​v -o main -llibcs​​v

我总是遇到这个编译错误:

在 WriterProcess.c:1 中包含的文件中:
headers.h:14:10:致命错误:libcs​​v/csv.h:没有这样的文件或目录 14 | #include
| ^~~~~~~~~~~~~~
编译终止。
在 main.c:1 中包含的文件中:
headers.h:14:10:致命错误:libcs​​v/csv.h:没有这样的文件或目录 14 | #include
| ^~~~~~~~~~~~~~
编译终止。

我的标题是这样的:

// core
#include <stdio.h>
#include <string.h>

// #include <wiringPi.h>
#include <unistd.h> // sleep
#include <errno.h>

// WriterProcess
#include <stdlib.h> // sizeof
#include <dirent.h> // file handling

// External Library for CSV
#include <libcsv/csv.h>

是的,我很困惑,所以非常感谢任何帮助!

编辑: 再次阅读说明,发现我的错误,但问题仍然存在。

【问题讨论】:

    标签: gcc compilation linker g++


    【解决方案1】:

    我遇到了同样的问题。尝试用 #include 替换 #include "libcs​​v/csv.h" 和 -llibcs​​v 和 -lcsv。

    【讨论】:

    • 头文件 csv.h 位于 /usr/include,因此应该用作#include 。该库是 libcs​​v.so,因此必须链接为 -lcsv。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 2021-09-20
    相关资源
    最近更新 更多