问题描述
我正在尝试在C语言游戏中使用PhysFS。我正在使用CMake生成Makefile。 CMake表示很好地找到了include文件夹和lib,但是在构建过程中出现错误:未定义对“ PHYSFS_init”的引用。
这是我的CMakeLists.txt文件:
Person = Struct.new(:id,:name) do
def print_attr
self.each_pair do |attr_name,attr_value|
puts "attribute name: #{attr_name},attribute value: #{attr_value}"
end
end
end
a = Person.new(123,"Joe")
a.print_attr # => attribute name: id,attribute value: 123
# => attribute name: name,attribute value: Joe
p a.class # => Person
CMakeCache.txt:
cmake_minimum_required(VERSION 3.10)
set(PROJECT_NAME "awesome-game")
project(${PROJECT_NAME})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
find_package(SDL2 required)
find_package(SDL2_image required)
find_package(SDL2_mixer required)
find_package(PhysFS required)
include_directories(${SDL2_Dirs})
include_directories(${SDL2_IMAGE_Dirs})
include_directories(${SDL2_mixer_Dirs})
include_directories(${PhysFS_Dirs})
file(GLOB_RECURSE SRCS "src/*.h" "src/*.c")
add_executable(${PROJECT_NAME} ${SRCS})
target_link_libraries(${PROJECT_NAME} PRIVATE ${SDL2_LIBRARIES} PRIVATE ${SDL2_IMAGE_LIBRARIES} PRIVATE ${SDL2_mixer_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE ${PhysFS_LIBRARY})
add_deFinitions(-DSDL_MAIN_HANDLED)
我在 /usr/local/include/physfs.h
中具有标题physfs.h解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)