有什么方法可以在 QT Creator .pro 文件中检测 64 位与 32 位机器吗?
我正在链接到 .a lib,并且需要链接到正在编译的机器的正确版本。有没有办法在 Linux 中检测 .pro 文件中的机器类型?我找到了这篇文章,但他们只讨论Windows:http://developer.qt.nokia.com/faq/answer/how_can_i_detect_in_the_.pro_file_if_i_am_compiling_for_a_32_bit_or_a_64_bi
编辑:.a 库是 Gtest。解决我的问题的另一种方法是以某种方式使用 g++ 构建一个可在 32 位或 64 位平台上运行的 .a 文件。这可能吗?
I am linking to a .a lib and need to link to the right version for the machine that's compiling. Is there a way to detect the type of machine in a .pro file in linux? I found this article, but they only discuss Windows: http://developer.qt.nokia.com/faq/answer/how_can_i_detect_in_the_.pro_file_if_i_am_compiling_for_a_32_bit_or_a_64_bi
Edit: The .a library is Gtest. Another way to solve my problem would be to somehow build a .a file with g++ that will work on either 32-bit or 64-bit platforms. Is that possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过在 mkspec 上执行条件,(请参阅平台范围值此处< /a>),您可以检查各种编译器/平台。
我的 mkspec 目录(Linux64 机器)给出了以下区别:
By doing your conditional on a mkspec, (see Platform Scope Values here), you can check for a very large variety of compiler/platform.
My mkspec directory (Linux64 machine), gives the following differentiations:
在 .pro 文件中,您可以包含以下内容:
因此,例如,在为arm编译时,要链接我的触摸屏库,我会这样做:
In the .pro file, you can have things like:
So for example, when compiling for arm, to link my touchscreen lib I do: