我正在尝试使用 VisualGDB 为运行 Raspbian lite 的 RaspberryPi 3 交叉编译 OpenGLES2.0 示例 HelloTriangle。
我假设我能够将库正确地包含在我的libbrcmEGL.so文件中,因为没有给我这些错误:libbrcmGLESv2.soCMakeLists.txt
c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -lLIBGLES
c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -lLIBEGL`
它给了我这些错误
make[2]: *** No rule to make target `libbrcmEGL.so', needed by `HelloTriangle'. Stop.`
这是我的 CMakeLists 文件:
cmake_minimum_required(VERSION 2.7)
project(HelloTriangle)
set(LIBRARIES_FROM_REFERENCES "")
add_executable(HelloTriangle HelloTriangle.cpp esShapes.c esTransform.c esUtil.c esShader.c)
include_directories(include)
target_link_libraries(HelloTriangle ${CMAKE_BINARY_DIR}/libbrcmGLESv2.so ${CMAKE_BINARY_DIR}/libbrcmEGL.so "${LIBRARIES_FROM_REFERENCES}")
我不明白制作目标还需要什么。环顾堆栈溢出,我看到了要添加的建议
LINK_DIRECTORIES(/opt/vc/lib/)
我也试过
target_link_libraries(HelloTriangle /opt/vc/lib/libbrcmGLESv2.so /opt/vc/lib/libbrcmEGL.so "${LIBRARIES_FROM_REFERENCES}")
我还检查了我的 sysroot 中是否有这些库:
C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot
我仍然得到同样的错误:
我需要一些帮助来弄清楚我的 CMakeLists.txt 中缺少什么