小编Nic*_*ick的帖子

在Visual Studio Mac解决方案(Xamarin.Mac应用程序)中使用C/C++库?

Xamarin.Mac和C++

我正在尝试在Visual Studio for Mac(又名Xamarin)中使用C++库(.a)我在网上找到了一些关于在Xamarin中链接本机库的信息(https://developer.xamarin.com/guides/ios/advanced_topics/native_interop /)但它似乎已经过时,因为Visual Studio for Mac已经用完了.

我将这两个项目上传到https://github.com/dawmster/XamarinAndCpp

内容

  1. MyCppLib - 生成libMyCppLib.a的XCode项目
  2. XamarinMacApp - 适用于Mac的Visual Studio解决方案
  3. libMyCppLib.a - 这是MyCppLib的产品,XamarinMacApp引用它.

什么都好

MyCppLib编译好并生成libMyCppLib.a我打算只导出两个C函数(my_C_Function, my_second_C_Function- MyCppLib.cpp),但我无法剥离其他sybols - 这似乎是问题的根源

extern "C" {
        int my_C_Function();
        int my_second_C_Function();
}
Run Code Online (Sandbox Code Playgroud)

在XamarinMacApp中引用了libMyCppLib.a(添加到解决方案中).并且在AppDelegate.cs中调用my_C_Function ,如下所示:

using System.Runtime.InteropServices;

namespace XamarinMacApp
{

    [Register("AppDelegate")]
    public class AppDelegate : NSApplicationDelegate {

        public AppDelegate(){}

        [DllImport("__Internal")]
        static extern int my_C_Function();
        public override void DidFinishLaunching(NSNotification notification)
        {
            int myretval = my_C_Function();
        }

        public override void WillTerminate(NSNotification …
Run Code Online (Sandbox Code Playgroud)

c++ xamarin.mac visual-studio-mac

6
推荐指数
0
解决办法
735
查看次数

标签 统计

c++ ×1

visual-studio-mac ×1

xamarin.mac ×1