在ubuntu上构建32位应用程序并使用64位lib运行它

时间:2016-10-11 08:18:10

标签: c++ linux gcc build g++

我需要构建一个32位版本的程序(没有选项来构建它64位),但是有一个特定的lib(nvidia提供的gles)是64位。 我想知道是否有办法将32位程序与64位lib连接起来。 或者,如果我可以简单地使用64位lib。 这是一个运行ubuntu 16.04的64位内核和用户空间(后者曾经是32位但不再是)的nvidia tx1。我正在使用arm-linux-gnueabihf-g ++。

提前致谢:)

1 个答案:

答案 0 :(得分:0)

不,那根本行不通。 只有很多问题需要解决。

64位内核可以使用32位程序,因为内核无论如何都不信任程序。每个参数都经过仔细检查和编组,适用于小型固定界面。

但是,编译器没有有效的方法来确定库的确切API。这是char*输入参数,输出或两者兼而有之吗?您需要知道,以便进行32/64编组。 (我在这里忽略了效率)