这是我的文件夹结构:
├── bin
├── build
├── CMakeLists.txt
├── include
│ └── project
│ ├── base_socket.h
├── LICENSE.txt
├── README.md
└── src
└── project
├── base_socket.cpp
├── CMakeLists.txt
├── main.cpp
|── assets
├── imageone.jpg
这适用于OpenGL项目,其中有多个着色器(文本)文件和图像。
我遇到问题,因为我在.cpp文件中使用相对路径(例如,粗略地说,`./assets/imageone.jpg
问题是我想(并且CMake确实)将构建的二进制文件放到顶级/bin
目录中。当我这样做,并运行调试和发布可执行文件时,二进制路径显然已被破坏。
对此的一个解决方案是尝试将所有资源“嵌入”可执行文件中“但我不喜欢使用大型二进制文件的这种方法。
是否有一些可能的方法来存储“资产”,并使用本地路径引用它们,并让这些本地路径跨平台工作?
例如,Visual Studio在/bin/Release
g++
中放入二进制文件没有,因此我甚至无法使用始终与相对路径一起使用的父级“Assets”文件夹。
简而言之,我猜测如何为C ++程序制作跨平台资产引用方法。
专业人士如何做到这一点?
这是CMAKE能帮助的吗?
由于