可能包括 C/C++ .pro 文件中的头文件?

发布于 2024-09-13 19:16:18 字数 283 浏览 1 评论 0原文

是否可以在 qmake (.pro) 文件中包含 C/C++ 头文件?

我有一个 version.h 头文件,其中包含我的项目的多个定义(字符串、版本号等)。我还有一个用于 Windows 的 .rc 文件,用于将版本信息添加到我的 exe/dll,其中包括此头文件。

那么,我能否以某种方式获取要在 .pro 文件中处理的头文件中的 #defines,或者我可以使用什么其他方式在一个文件中定义字符串和其他常量,并让它们从我的 C++ 代码(.rc)访问文件和 .pro 文件通过包含该文件?

Is it possible to include C/C++ header files in a qmake (.pro) file?

I have a version.h header file with several definitions for my project (strings, version numbers, etc.). I also have an .rc file for Windows to add version info to my exe/dll, which includes this header file.

So, can I somehow get the #defines in my header file to be processed in my .pro file, or what other way could I use to define strings and other constants in one file and have them accessible from my C++ code, the .rc file and the .pro file by including that file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原来分手还会想你 2024-09-20 19:16:18

您可以在 .pro 文件中使用 DEFINES 变量。以下适用于 gccclang

# A definition without a value
DEFINES += USE_X86_ASM

# A definition with a value
DEFINES += SOME_DEFINITION=value

# A more complicated value needs quoting
DEFINES += COMPANY_NAME=\"Weird Apps LLC.\"

# Defining a string can be tricky
DEFINES += STRING_VALUE=\"\\\"This is a string literal\\\"\"

# The value comes from the build environment.
DEFINES += COMPILED_BY=$(USER)

这些定义将传递给 C/C++ 编译器。不过,我不知道 rc 编译器是否也能得到它们。

You can use the DEFINES variable in the .pro file. The following works with gcc and clang.

# A definition without a value
DEFINES += USE_X86_ASM

# A definition with a value
DEFINES += SOME_DEFINITION=value

# A more complicated value needs quoting
DEFINES += COMPANY_NAME=\"Weird Apps LLC.\"

# Defining a string can be tricky
DEFINES += STRING_VALUE=\"\\\"This is a string literal\\\"\"

# The value comes from the build environment.
DEFINES += COMPILED_BY=$(USER)

The definitions are passed to the C/C++ compiler. I don’t know if the rc compiler also gets them, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文