最近突发奇想希望能够在matlab里调用wpf做的界面(WPF做界面简单好看),所以希望能够利用wpf生成dll,然后在matlab调用这个dll来达到效果。于是先做了用c++调用的试试手。网上参考了这篇博文: http://blog.youkuaiyun.com/visual_studio1/article/details/53843447,但是里面有些细节没有说清楚,下面进行了详细的解说。
1 首先,新建一个wpf项目
2 删除App.xaml和MainWindow.xaml。
3 新建一个wpf窗口
4 把dll_sample输出类型改为类库
5 在Window1界面添加一个button,并添加代码
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
6 生成dll(忽略警告)
7 在solution下添加新的project
8 修改Project1的属性
添加引用
9 将之前生成的dll_sample.dll放入(\debug 这个文件内必须要有dll,还有一个随缘,我直接把他扔进C++内)
10 添加Source.cpp
#include <iostream>
#using "dll_sample.dll"
using namespace std;
using namespace dll_sample;
[System::STAThread]
int main()
{
Window1 ^ win = gcnew Window1 ;
win->ShowDialog();
system("pause");
return 0;
}
11 把Project1设置为启动项(set as startup project)运行(会有点慢)