質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

Q&A

解決済

1回答

2154閲覧

OpenGLでTextureを宣言しようとすると出るundefined to referenceエラーの解決方法

ReiHiguchi

総合スコア73

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

0グッド

0クリップ

投稿2016/01/15 15:21

編集2016/01/17 02:25

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でもやってみましたが、同じエラーが発生しました。
誰かお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

CMakeLists->Userplayground->add_executable
texture.hpp,texture.cpp 入っていなかった

投稿2016/01/17 04:11

ReiHiguchi

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問