如何在CSharp中使用GDAL

如何在CSharp中使用GDAL,第1张

 问题解决方案,可以不考虑测试结果 将四个*_CSharp.dll在项目中“添加引用”添加进来,其余gdal16.dll和另外四个编译C#时生成的dll文件拷贝到项目的debug下。即可。 如果不把dll文件拷贝到debug下,将出现下面错误: “OSGeo.OGR.Ogr”的类型初始值设定项引发异常这样的问题。 这个问题是dll不全造成的,除了要引用的4个dll外,还有5个dll也要放到Debug目录下。 在编译C#下的gdal时,总共生成了9个dll,在编译的本机上,程序是通过环境变量path找到另外的几个dll的。 在没有编译过gdal的电脑上,反正就把这9个编译后的dll放到debug下面就一切Ok了

是不是同名冲突?用别名试试

using K = KeyLib

using KD = KeyLib.Data

using KDO = KeyLib.Data.Oracle

如果提示dll不存在,在硬盘中找到位置,重新添加引用试试?

1、加载dll-添加引用;添加引用的意思是让程序生成时根据配置的路径去加载相应的dll。

引用的步骤:

1)、点击引用。

2)、添加引用浏览。

3)、选择dll所在的路径确定。

其它方法:

导入命名空间、实例化对象、调用函数只有导入该dll的命名空间,才能使用该空间下的类。因此,在引用了dll之后的第一步是导入命名空间;第二步才是实例化该类对象;最后才是使用类对象来调用其成员函数。

下面所示的代码是调用封装好的DMC3000.dll中的初始化函数。

using System

using System.Collections.Generic

using System.ComponentModel

using System.Data

using System.Drawing

using System.Linq

using System.Text

using System.Threading.Tasks

using System.Windows.Forms

using nsLTDMC

(1)引入命名空间

using nsDMC3000

namespace DalsaConfig

{

public partial class Form1 : Form

{

(2)声明类对象

DMC3000 m_f1DMC3000

public Form1()

{

(3)实例化类对象

m_f1DMC3000 = new DMC3000()

InitializeComponent()

(4)调用dll中的函数

bool bIniResult = m_f1DMC3000.Init()

if (true == bIniResult)

{

MessageBox.Show("Init OK")

}

else

{

MessageBox.Show("Init Failed!")

}

}

}

}

扩展资料:

函数名: system

功 能: 发出一个DOS命令

用 法: int system(char *command)

程序例:

#include <stdlib.h>

#include <stdio.h>

int main(void)

{

printf("About to spawn and run a DOS command\n")

system("dir")

return 0

}

又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏 *** 作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用 system("color 0A")其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色。

(注意:Microsoft Visual C++6.0 支持system)

颜色属性由两个十六进制数字指定 -- 第一个对应于背景,第二个对应于前景。每个数字可以为以下任何值:

0 = 黑色 8 = 灰色;1 = 蓝色 9 = 淡蓝色

2 = 绿色 A = 淡绿色;3 = 浅绿色 B = 淡浅绿色

4 = 红色 C = 淡红色;5 = 紫色 D = 淡紫色

6 = 黄色 E = 淡黄色;7 = 白色 F = 亮白色

参考资料:

百度百科——system(函数)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11917800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存