【问题标题】:"assimp/config.h" not found, It's in the folder though找不到“assimp/config.h”,但它在文件夹中
【发布时间】:2020-06-01 08:09:10
【问题描述】:

我正在使用 Visual Studio 2019 使用 OpenGL 制作一个简单的场景。库和包含似乎配置正确,因为我可以访问头文件和 assimp 文件夹结构。 当我尝试包含任何 assimp 标头时,虽然我收到了这个错误,但奇怪的是文件在文件夹中。从文件中删除“.in”时,它被称为“config.h.in”,我在“config.h”文件的第 1016 行得到错误代码“E0011”。内容如下

// ---------- All the Build/Compile-time defines ------------

/** @brief Specifies if double precision is supported inside assimp
 *
 * Property type: Bool. Default value: undefined.
 */

#cmakedefine ASSIMP_DOUBLE_PRECISION 1

#endif // !! AI_CONFIG_H_INC

这些是第 1009 到 1018 行,当文件在 VS19 中打开时,我只有在切换到另一个文件时才会出现错误。我再次收到错误消息。

编辑。我确实使用 CMake 和 VS 来构建库和 .dll 文件

【问题讨论】:

  • 你运行 CMake 了吗?
  • 是的,我做了,也使用 VS2019 构建它。应该这么说。
  • 好,然后搜索config-h,我依稀记得某些情况下生成在错误的目录下。
  • @churill 它位于文件夹 libraries/assimp/include/assimp/ 中。库是项目库的文件夹,该文件最初作为“config.h.in”在那里,如上所述。将其重命名为“config.h”会导致 VS 错误代码“E0011”。
  • config.hconfig.h.in 是两个不同的文件(抱歉上面的错字)。检查config.h 在哪里。 (它是由 CMake somewhere 生成的)不要重命名任何东西,这不是文件的目的。不太确定你在那里做什么。

标签: c++ visual-studio opengl assimp


【解决方案1】:

config.h.in 文件是我们在 Asset-Impoprter-Lib 中使用的 cmake-build-generation 期间执行的配置生成过程的输入文件。 cmake-run 将读取 config.h.in 文件,替换 config.h .in 中来自 cmake 的定义,并将生成的 config.h 文件写入包含文件夹中。所以如果你想生成一个有效的 config.h 文件,你必须在运行你自己的构建之前运行 assimp-cmake 运行。

我猜您只是在为您的 opengl 示例使用解决方案文件。所以你可以安装 cmake,在你的 assimp-installation 的根文件夹中运行它,你将能够找到一个有效的 config.h 文件。

config.h 文件包含您的 assimp 配置的定义,例如将使用哪种精度等等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    相关资源
    最近更新 更多