0

在制作 .lib 和 .DLL 时我有点生疏,所以请原谅我对某些细节的无知,但这是我的问题。

我正在使用 Visual Studio 和 Windows 7 在 C++ 中创建一个(通用 Windows)库。该库具有简单的便利功能,用于执行子字符串、索引等操作。

其中一项功能要求我使用 Windows 10 SDK,特别是:

StorageFolder* appFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;

create_task(appFolder->GetFilesAsync()).then([=](IVectorView<StorageFile*>* filesInFolder) 
{
    //Iterate over the results and print the list of files
    // to the visual studio output window
    for (auto it = filesInFolder->First(); it->HasCurrent; it->MoveNext())
    {
        StorageFile* file = it->Current;
        String* output = file->Name + "\n";
        OutputDebugString(output->Begin());
    }
});

我的问题是,如何使这个库尽可能兼容,更重要的是如何让它工作?我知道我使用的是 Windows7,而这些类仅在 Windows10 中可用,所以我假设我会安装 Windows10 SDK 并将其包含在我的 lib 项目中,但它仍然找不到 StorageFolder。是我进入 Windows10 的唯一选择吗?如果用户在 Windows7 上使用它,我的 lib 还能工作吗?

4

1 回答 1

0

您使用的此 API 不适用于 Windows 7 或 vista 或更早版本。但一个建议是尽可能让你的代码可重用,并用它来制作通用 Windows 应用程序和 Windows 7 程序。

实际上,Windows 10 的任何新 API 都无法在 Windows 7 上运行(“微软让开发人员和人们切换到 Windows 10 的邪恶计划”)我希望你能找到解决方案。致以我的问候。

于 2016-05-29T02:06:11.090 回答