gpt4 book ai didi

c++ - 在 C++ 编译期间混合 x86 和 x64 静态库

转载 作者:行者123 更新时间:2023-11-28 06:29:07 26 4
gpt4 key购买 nike

我有 .Net 背景,并且是 C 和 C++ 的新手,我不确定当其中一些是 64 位而其他仅针对 x86 时链接静态第三方库的含义。

就我而言,我正在使用 FreeGLUT、Glew 和 FreeType 进行一些实验。 Glew 似乎只有 32 位版本。 FreeGLUT 带有 64 位和 32 位库版本,而 FreeType 只有 32 位版本。我想构建我的针对 x64 的应用程序,因为我将使用 8 字节数值做很多工作,但总的来说,我不太了解 x86 与 x64 的编码差异,或者混合来自他们俩。我知道如果我以 x86 为目标构建我的应用程序,那么我显然不能使用 x64 库,但我有一种感觉,反之则不然。我对吗?有什么陷阱要避免吗?鉴于我拥有的 Glew 构建是 32 位的,而 FreeGLUT 构建是 x64,我可以期望它们一起工作吗?

编辑:我发现这个页面很有用:https://msdn.microsoft.com/en-us/library/ew5tede7.aspx - 鉴于事件架构会影响内存在堆栈上的分配方式,因此尝试在同一堆栈帧中使用两种不同的内存模型是行不通的。

最佳答案

这是不可能的。当您链接库时,平台和体系结构必须匹配。主要问题是内存在 x86 和 x64 中的布局

此线程进一步解释 LNK2001 and LNK1120 when compiling a x64 dynamic library linking a x86 static library

关于c++ - 在 C++ 编译期间混合 x86 和 x64 静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27956415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com