Mono interop: Loading 32bit shared library does not work on my 64bit system

后端 未结 3 824
遇见更好的自我
遇见更好的自我 2021-01-06 16:47

i have a problem running a simple interop example on my system. I built a simple 32-bit shared library called libtest.so (c++)

g++ -c -fpic test.cpp -m32
g++         


        
3条回答
  •  暖寄归人
    2021-01-06 17:38

    The problem is that you have a 64bit version of Mono installed on your system which can only P/Invoke into 64bit native libraries, it cannot P/Invoke into 32bit native libraries.

    The -platform:x86 flag is meant for the C# compiler, not the runtime, and does not hint to the runtime to use a 32bit memory space.

    You need to install the 32bit version of Mono on your Ubuntu system if you want to P/Invoke into 32bit native libraries.

提交回复
热议问题