我正在開發一個DLL(在Visual Studio 2013中)讀取TIFF(衛星圖像),使用GDAL庫,並有一個問題找回我的變量與數據 - 目前它是空的返回NULL)。指針類變量返回NULL從muncion
在我的DLL我在 「RasterFuncs.h」 定義我funcion這樣的:
namespace RasterFuncs
{
// This class is exported from the RasterFuncs.dll
class MyRasterFuncs
{
public:
// Open a raster file
static RASTERFUNCS_API int Open(char* rname, GDALDataset *poDataset);
};
}
,在我的DLL CPP我有以下幾點:
namespace RasterFuncs
{
int MyRasterFuncs::Open(char* rname, GDALDataset *poDataset)
{
poDataset = (GDALDataset *) GDALOpen(rname, GA_ReadOnly);
if (poDataset != NULL)
{
cout << "RasterXSize 1:" << poDataset->GetRasterXSize() << endl;
cout << "RasterYSize 1:" << poDataset->GetRasterYSize() << endl;
cout << "RasterCount 1:" << poDataset->GetRasterCount() << endl;
}
return 0;
}
}
在這一點上我擁有包含所有圖像數據的poDataset。
不過,我打電話使用下面的代碼此DLL形成另一個CPP:
rfileName = "C:/Image1.tif";
// Open raster satelitte image
GDALDataset *poDataset = NULL;
GDALAllRegister();
RasterFuncs::MyRasterFuncs::Open(rfileName, poDataset);
if (poDataset != NULL)
{
cout << "RasterXSize:" << poDataset->GetRasterXSize() << endl;
cout << "RasterYSize:" << poDataset->GetRasterYSize() << endl;
cout << "RasterCount:" << poDataset->GetRasterCount() << endl;
}
,當我測試poDataset也說回來,顯示NULL。
有人可以幫助解決這個問題嗎?
在此先感謝和問候!
大!!你是對的!謝謝你的幫助! – user3468473