windows下cmake链接到lua库的俩种方法

前言

在vscode上用cmake链接到lua库花了差不多一天时间,简直要崩溃了,现将俩种方法记录下来希望对小伙伴有帮助

find_package

第一种介绍一下用find_package由编译器帮你找到库的位置,这种方法比较适用于你拿到一台陌生的机器,比较方便,他会在环境变量,同级目录中帮你找所需的库和头文件,也可以指定目录。这里就不多介绍,感兴趣的小伙伴可以去官方文档查一下(官方文档)。
cmake代码如下

#版本
cmake_minimum_required(VERSION 2.8)

#生成的可执行文件名
project(main)

#支持c17
set(CMAKE_CXX_STANDARD 17)

#我是用来学sol2库的,链接lua可以不要
include_directories("${PROJECT_SOURCE_DIR}/sol3.0.3/sol2/include")

#找lua51这个库
find_package(Lua51)

#包含头文件,LUA_INCLUDE_DIR这个是cmake中的宏(包名_INCLUDE_DIR)
include_directories(${LUA_INCLUDE_DIR})

#生成可执行文件
add_executable(main main.cpp)

#链接到库
target_link_libraries(main ${LUA_LIBRARIES})

include

第二种方法就是用自己包含库和头文件,相当于在vs中项目属性中加入相应的库和头文件,代码如下

cmake_minimum_required(VERSION 2.8)

project(main)

set(CMAKE_CXX_STANDARD 17)

#包含头文件
include_directories("../../lua lib/sol3.0.3/sol2/include")
include_directories("C:/Program Files (x86)/Lua/5.1/include")
include_directories("C:/Program Files (x86)/Lua/5.1/lib")
add_executable(main main.cpp)

#将库链接进来
target_link_libraries(main ${LUA_LIBRARIES})

排坑

之前用的就是第二种方法,但是一直都不能正确运行,后来发现是因为自己的编译器是64位的导致一直不能成功编译,后来将编译器换成32位的就可以了。最后给小伙伴们分享一篇cmake入门的博客,应该是很有帮助的。(cmake入门

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值