zishen 发表于 2024-6-11 19:08

库文件使用

我想使用freelip这个库
网上找了一个资源后,打开里面都是.h .c .cpp .lib文件

我应该怎么在一个项目中使用这个库,而不至于报一堆错误?
只用lip.c 和lip.h里面的功能,只添加这两个文件的话还是不行

apull 发表于 2024-6-11 19:08

zishen 发表于 2024-6-12 14:35
这是我在github上下的
请问大佬,该怎么在linux下编译,使得能在windows下使用呢?

你可以参考下
https://cloud.tencent.com/developer/information/%E5%9C%A8Linux%E4%B8%AD%E7%BC%96%E8%AF%91Windows%20C%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F-article

apull 发表于 2024-6-11 19:38

项目里建个freelip文件夹,把这些文件放进去,引用"freelip/lip.h"。

你好,再见 发表于 2024-6-11 20:02

windows请使用vcpkg包管理

woflant 发表于 2024-6-12 10:29

这个是源代码,vs使用需要添加包含目录、相关库(.lib)、预定义宏等,有点麻烦

看你图上报错内容,应该是源代码文件路径没有添加到项目

rainyl 发表于 2024-6-12 11:43

按照代码来说win32应该是不会include这个netinet的,但是因为这个库太老了,用的#ifndef WIN32而不是ifndef _WIN32,区别见这里https://stackoverflow.com/questions/662084/whats-the-difference-between-the-win32-and-win32-defines-in-c

建议的解决方案:
1. 自己定义WIN32
2. 改成_WIN32
前者不需要修改源码,后者需要修改,看你怎么选择了

zishen 发表于 2024-6-12 14:01

apull 发表于 2024-6-11 19:38
项目里建个freelip文件夹,把这些文件放进去,引用"freelip/lip.h"。

不行哦,会报错
严重性        代码        说明        行        禁止显示状态
错误(活动)        E1696        无法打开 源 文件 "netinet/in.h"        511       

zishen 发表于 2024-6-12 14:02

rainyl 发表于 2024-6-12 11:43
按照代码来说win32应该是不会include这个netinet的,但是因为这个库太老了,用的#ifndef WIN32而不是ifndef ...


改成这样后,运行会报错

:'(weeqw

apull 发表于 2024-6-12 14:19

<netinet/in.h> 是linux下的,vs开启远程调试,在linux下编译呢。
我机子上这文件路径为C:\Users\Administrator\AppData\Local\Microsoft\Linux\HeaderCache\1.0\-2001331268\usr\include\netinet\in.h

zishen 发表于 2024-6-12 14:35

apull 发表于 2024-6-12 14:19
是linux下的,vs开启远程调试,在linux下编译呢。
我机子上这文件路径为C:%users\Administrator\AppData\ ...


这是我在github上下的
请问大佬,该怎么在linux下编译,使得能在windows下使用呢?:'(weeqw
页: [1] 2
查看完整版本: 库文件使用