OpenGLでTextureを貼り付ける勉強をしています。
Textureの宣言(BMP)をしたところエラーが出てしまいました。
/home/?/Documents/Projects/OpenGL_Tutorials/playground/playground.cpp:47: エラー: undefined reference to `loadBMP_custom(char const*)'
👎 エラー: collect2: error: ld returned 1 exit status
リンクエラーが起きているのですがどう改善すればいいのでしょうか?
コードを貼っておきます。
OpenGL
1# CMake entry point 2cmake_minimum_required (VERSION 2.6) 3project (Tutorials) 4find_package(OpenGL REQUIRED) 5 6 7if( CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR ) 8 message( FATAL_ERROR "Please select another Build Directory ! (and give it a clever name, like bin_Visual2012_64bits/)" ) 9endif() 10if( CMAKE_SOURCE_DIR MATCHES " " ) 11 message( "Your Source Directory contains spaces. If you experience problems when compiling, this can be the cause." ) 12endif() 13if( CMAKE_BINARY_DIR MATCHES " " ) 14 message( "Your Build Directory contains spaces. If you experience problems when compiling, this can be the cause." ) 15endif() 16 17add_subdirectory (external) 18 19cmake_policy(SET CMP0026 OLD) 20list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/external/rpavlik-cmake-modules-fe2273") 21include(CreateLaunchers) 22include(MSVCMultipleProcessCompile) # /MP 23 24if(INCLUDE_DISTRIB) 25 add_subdirectory(distrib) 26endif(INCLUDE_DISTRIB) 27 28 29 30include_directories( 31 external/AntTweakBar-1.16/include/ 32 external/glfw-3.1.2/include/GLFW/ 33 external/glm-0.9.7.1/ 34 external/glew-1.13.0/include/ 35 external/assimp-3.0.1270/include/ 36 external/bullet-2.81-rev2613/src/ 37 . 38) 39 40set(ALL_LIBS 41 ${OPENGL_LIBRARY} 42 glfw 43 GLEW_1130 44) 45 46add_definitions( 47 -DTW_STATIC 48 -DTW_NO_LIB_PRAGMA 49 -DTW_NO_DIRECT3D 50 -DGLEW_STATIC 51 -D_CRT_SECURE_NO_WARNINGS 52) 53 54add_executable(playground 55 playground/playground.cpp 56 common/shader.cpp 57 common/shader.hpp 58) 59target_link_libraries(playground 60 ${ALL_LIBS} 61) 62IES XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/playground/") 63create_target_launcher(playground WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/playground/") 64 65SOURCE_GROUP(common REGULAR_EXPRESSION ".*/common/.*" ) 66SOURCE_GROUP(shaders REGULAR_EXPRESSION ".*/.*shader$" ) 67 68 69if (NOT ${CMAKE_GENERATOR} MATCHES "Xcode" ) 70add_custom_command( 71 TARGET tutorial01_first_window POST_BUILD 72 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial01_first_window${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial01_first_window/" 73) 74add_custom_command( 75 TARGET tutorial02_red_triangle POST_BUILD 76 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial02_red_triangle${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial02_red_triangle/" 77) 78add_custom_command( 79 TARGET tutorial03_matrices POST_BUILD 80 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial03_matrices${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial03_matrices/" 81) 82add_custom_command( 83 TARGET tutorial04_colored_cube POST_BUILD 84 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial04_colored_cube${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial04_colored_cube/" 85) 86add_custom_command( 87 TARGET tutorial05_textured_cube POST_BUILD 88 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial05_textured_cube${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial05_textured_cube/" 89) 90add_custom_command( 91 TARGET tutorial06_keyboard_and_mouse POST_BUILD 92 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial06_keyboard_and_mouse${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial06_keyboard_and_mouse/" 93) 94add_custom_command( 95 TARGET tutorial07_model_loading POST_BUILD 96 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial07_model_loading${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial07_model_loading/" 97) 98add_custom_command( 99 TARGET tutorial08_basic_shading POST_BUILD 100 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial08_basic_shading${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial08_basic_shading/" 101) 102add_custom_command( 103 TARGET tutorial09_vbo_indexing POST_BUILD 104 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial09_vbo_indexing${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial09_vbo_indexing/" 105) 106add_custom_command( 107 TARGET tutorial09_AssImp POST_BUILD 108 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial09_AssImp${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial09_vbo_indexing/" 109) 110add_custom_command( 111 TARGET tutorial09_several_objects POST_BUILD 112 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial09_several_objects${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial09_vbo_indexing/" 113) 114add_custom_command( 115 TARGET tutorial10_transparency POST_BUILD 116 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial10_transparency${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial10_transparency/" 117) 118add_custom_command( 119 TARGET tutorial11_2d_fonts POST_BUILD 120 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial11_2d_fonts${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial11_2d_fonts/" 121) 122add_custom_command( 123 TARGET tutorial12_extensions POST_BUILD 124 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial12_extensions${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial12_extensions/" 125) 126add_custom_command( 127 TARGET tutorial13_normal_mapping POST_BUILD 128 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial13_normal_mapping${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial13_normal_mapping/" 129) 130add_custom_command( 131 TARGET tutorial14_render_to_texture POST_BUILD 132 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial14_render_to_texture${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial14_render_to_texture/" 133) 134 add_custom_command( 135 TARGET tutorial15_lightmaps POST_BUILD 136 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial15_lightmaps${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial15_lightmaps/" 137) 138add_custom_command( 139 TARGET tutorial15_lightmaps POST_BUILD 140 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial15_lightmaps${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial15_lightmaps/" 141) 142add_custom_command( 143 TARGET tutorial16_shadowmaps_simple POST_BUILD 144 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial16_shadowmaps_simple${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial16_shadowmaps/" 145) 146add_custom_command( 147 TARGET tutorial16_shadowmaps POST_BUILD 148 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial16_shadowmaps${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial16_shadowmaps/" 149) 150add_custom_command( 151 TARGET tutorial17_rotations POST_BUILD 152 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial17_rotations${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial17_rotations/" 153) 154add_custom_command( 155 TARGET tutorial18_billboards POST_BUILD 156 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial18_billboards${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial18_billboards_and_particles/" 157) 158add_custom_command( 159 TARGET tutorial18_particles POST_BUILD 160 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/tutorial18_particles${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/tutorial18_billboards_and_particles/" 161) 162add_custom_command( 163 TARGET playground POST_BUILD 164 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/playground${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/playground/" 165) 166add_custom_command( 167 TARGET misc05_picking_slow_easy POST_BUILD 168 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/misc05_picking_slow_easy${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/misc05_picking/" 169) 170add_custom_command( 171 TARGET misc05_picking_custom POST_BUILD 172 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/misc05_picking_custom${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/misc05_picking/" 173) 174add_custom_command( 175 TARGET misc05_picking_BulletPhysics POST_BUILD 176 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/misc05_picking_BulletPhysics${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_CURRENT_SOURCE_DIR}/misc05_picking/" 177) 178 179elseif (${CMAKE_GENERATOR} MATCHES "Xcode" ) 180 181endif (NOT ${CMAKE_GENERATOR} MATCHES "Xcode" ) 182
一応BMPでできなかったのでDDSでもやってみましたが、同じエラーが発生しました。
誰かお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。