作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以我查看了关于 SO 的其他问题。出于某种原因,我仍然遇到这个问题。
"Cannot Find Entry Point"
我的 CPP
extern "C"{
__declspec(dllexport) int GetPose()
{
if (currentPose == myo::Pose::none)
return 0;
else if (currentPose == myo::Pose::fist)
return 1;
else
return -1;
}
}
我的 C#
public partial class MainWindow : Window
{
[DllImport("MyoWrapper.dll", CallingConvention = CallingConvention.StdCall)]
public static extern int GetPose();
public MainWindow()
{
InitializeComponent();
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = new TimeSpan(100);
timer.Tick += (sender, args) =>
{
int x = GetPose();
};
timer.Start();
}
}
最佳答案
导致此错误的最可能原因如下
GetPos
方法未在 extern "C"
block 中定义。这会导致名称作为 C++ 损坏的名称发出,因此名称在 DllImport
属性上是错误的MyoWrapper.dll
文件与可执行文件不在同一路径中,因此找不到 鉴于错误是“入口点”,我敢打赌 #1 是原因。
关于c# - C++ DLL "Cannot Find Entry Point",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22263386/
我是一名优秀的程序员,十分优秀!