【发布时间】:2020-06-22 19:43:27
【问题描述】:
我做了一个新项目,并且已经在这个特定问题上卡了几个小时。我正在使用 shell 脚本 (.bat) 文件来编译和构建项目。如果我不使用库,它可以编译并运行良好。但是,当我尝试添加 SDL2 时,我得到了标题中描述的问题。我正在使用 Visual Studio Code,在 tasks.json 中正确设置了所有内容,问题仍然存在。我搬到了 4code,但问题仍然存在。
这是我的 build.bat
@echo off
if not exist build mkdir build
pushd build
gcc ..\source\main.c -o main.exe
gcc -L ..\external\SDL2\include
popd
我在“外部”文件夹中添加了库。它告诉我找不到 SDL.h 文件。我很困惑,因为该文件位于 ..\external\SDL2\include
我从来没有用 C 编码过,所以所有这些编译器业务对我来说都是新的。我已经在网上搜索了几个小时,但找不到解决方案。如有任何帮助,我将不胜感激。
【问题讨论】:
-
您应该做的第一件事是通过确定您当前的工作目录是已知的来开始您的批处理文件。目前你只是假设它!在这种情况下,最好的方法是确保您可以相对于
\source\main.c和/或\external\SDL2\include,或者更好的\external\SDL2\include\sdl.h。这肯定比创建一个可能丢失的目录然后发现你的工作目录从一开始就不正确更有效。
标签: c batch-file lib