這真是令人尷尬,我知道它會顯示爲缺乏研究工作。錯誤C2039:'Collections':不是'Windows :: Foundation'的成員
我是一位非常熟練的C#程序員,在該領域有豐富的經驗,但我想學習C++,因爲它在(例如)DirectX中打開了一些非常有趣的機會。很長一段時間,我用SharpDX來模擬相同的,但現在我想了解真正的交易。
因此,我決定在C++中創建一個Windows應用商店DLL庫。乍看之下,C++似乎有很大的不同,但經過一番研究,我學到了.h
和.cpp
文件的結構。現在看來對我來說更易於管理。
但是,我遇到了參考問題。
我想使一個類繼承Control
(在XAML中)。我想我必須導入適當的庫,並且C++中的引用系統庫必須通過代碼文件本身完成(可能是因爲鏈接過程?)。
Graph.h
#pragma once
#include <wrl.h>
#include <windows.foundation.h>
#include <windows.foundation.collections.h>
#include <windows.ui.h>
#include <windows.ui.xaml.h>
#include <windows.ui.xaml.controls.h>
#include "pch.h"
namespace Techmatic_FunctionGraph
{
public ref class Graph sealed : public Windows::UI::Xaml::Controls::Control
{
public:
Graph();
}
}
Graph.cpp
#include "pch.h"
#include "Graph.h"
#include <windows.foundation.h>
#include <windows.foundation.collections.h>
#include <windows.ui.h>
#include <windows.ui.xaml.h>
#include <windows.ui.xaml.controls.h>
using namespace Techmatic_FunctionGraph;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Documents;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Interop;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Media::Imaging;
using namespace Microsoft::WRL;
Techmatic_FunctionGraph::Graph()
{
}
但是,我得到的是說,using namespace Windows::Foundation::Collections;
是不是一個正確的命名空間或類名稱的錯誤。
正如你可能看到我幾乎只是在失明中摸索。我嘗試谷歌搜索「C++參考Windows :: Foundation :: Collections」和其他查詢沒有運氣。
任何人都可以幫助我理解我在這裏錯過了什麼,繼續前進,或引導我走向正確的方向嗎?
您是否在使用C++/CX創建Windows應用商店應用?你可能不需要'#inc'.h文件。 – kiewic
是的,我是。現在事情變得更糟,更多的錯誤。 –
你能分享你的項目嗎? – kiewic