问题描述
我有一个使用mingw64编译器构建的Windows代码C,必须链接libprotobuf。
我有使用mingw64构建的libprotobuf dll。
libprotobuf.dll
libprotobuf.dll.a
我已经创建了一个protobuf文件,并使用protoc对其进行了编译以生成头文件。
ProtoDemo.pb.cc
ProtoDemo.pb.h
ProtoDemo.proto
要将libprotobuf链接到C代码,我们将首先创建libprotoc生成的头文件库,然后将其与我们的代码链接。
我正在尝试使用CMakelist创建上述三个文件的库
cmake_minimum_required(VERSION 3.0.2)
project(protobin VERSION 3.4.5)
set (${PROJECT_NAME}_sources ProtoDemo.pb.cc)
set (${PROJECT_NAME}_public_header ProtoDemo.pb.h)
set (${PROJECT_NAME}_private_header ProtoDemo.proto)
if(WIN32)
add_deFinitions (-DWIN32)
else(WIN32)
add_compile_options("-std=c++11")
endif(WIN32)
add_library (${PROJECT_NAME} SHARED
${${PROJECT_NAME}_sources}
${${PROJECT_NAME}_public_header}
${${PROJECT_NAME}_private_header})
IF(WIN32)
target_link_libraries(${PROJECT_NAME} libprotobuf)
ELSE()
target_link_libraries(${PROJECT_NAME} libprotobuf)
ENDIF(WIN32)
但是,这既不创建任何库也不提供任何错误。 它只是创建一个名为protobin.dir的文件夹。 target_link_libraries没有给出任何错误。
cmakelists.txt有什么问题以及如何生成库?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)