小编Mic*_*ich的帖子

如何安装Windows 10 SDK以与Visual Studio 2017一起使用

下午好,

我无法弄清楚如何为Visual Studio 2017安装Windows 10 SDK.

我下载并运行了Windows 10 SDK安装程序,然后显示 Please find winsdksetup.exe in ....\Windows kits\10\WindowsSDK to install Windows Software Development Kit - Windows 10.0.17134.12.

当我运行时winsdksetup.exe,它会引导我通过相同的循环,它将一堆可执行安装程序下载到此目录中并显示相同的确切消息.

当我尝试在VS2017中构建DirectX项目时,我收到错误:

MSB8036 The Windows SDK version 10.0.16299.0 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".    
Run Code Online (Sandbox Code Playgroud)

我是否需要安装其中一个安装程序?我需要运行哪一个来构建和调试Visual Studio的DirectX项目?具体使用VS2017着色器调试功能.

谢谢,

编辑:在VS2017下 - 工具 - >获取工具和功能我已经检查过

使用C++进行游戏开发

并且根据我的选择

C++分析工具Windows 10 SDK(10.0.17134.0)

我正在下载16299.0,这修复了没有正确SDK的第一个错误.

但是现在我Failed Creating …

c++ directx windows-10 visual-studio-2017

30
推荐指数
2
解决办法
4万
查看次数

C# 'type' 是一个变量,但像类型一样使用

这段代码会抛出一个错误C# 'type' is a variable but is used like a type

Type type = Type.GetType("Objects.Camera");
for (int i = 0; i < ((List<type>)currentObject).Count; i++)
{
 //...
}
Run Code Online (Sandbox Code Playgroud)

currentObject 是通过.GetValue(object)并具有类型 object 获得的。我需要将其转换为正确的类型才能将其用作列表。

c# reflection

7
推荐指数
1
解决办法
2万
查看次数

使用eglInitialize进行分段错误/使用不带X11的OpenGL

我试图使用OpenGL并将输出直接写入Imx6处理器(cubox)上的Framebuffer.原因是我试图避免使用X11

我使用了https://github.com/benosteen/opengles-book-sa​​mples/blob/master/Raspi/Chapter_2/Hello_Triangle/Hello_Triangle.c中的示例应用程序.

我将代码修改为不包含任何X11头文件或Window创建函数,我替换了surface = eglCreatePixmapSurface(display,config,(EGLNativePixmapType)Hwnd,NULL); with surface = eglCreatePbufferSurface(display,config,surfaceAttribs);

然后我使用glReadPixels(..)将OpenGl像素直接输出到帧缓冲区

当我使用VisualGDB运行应用程序时,应用程序运行良好,并通过写入/ dev/fb0直接在屏幕上显示输出

但是,当我从控制台运行时,使用./OpenGL_Test_IMX我收到以下错误:

The framebuffer device was opened successfully.
The framebuffer device was opened successfully.
1920x1200, 32bpp
The framebuffer device was mapped to memory successfully.
libEGL warning: DRI2: xcb_connect failed
libEGL warning: DRI2: xcb_connect failed
libEGL warning: GLX: XOpenDisplay failed
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

我的Egl初始化代码如下所示.我拿出错误检查以缩短时间.

代码在eglInitialize(display,&majorVersion,&minorVersion)上失败.分段错误是eglGetError()的输出

EGLBoolean CreateEGLContext(EGLNativeWindowType hWnd, EGLDisplay* eglDisplay,
EGLContext* eglContext, EGLSurface* eglSurface,
EGLint attribList[])
{
     EGLint numConfigs;
     EGLint majorVersion;
     EGLint minorVersion;
     EGLDisplay display;
     EGLContext context;
     EGLSurface surface; …
Run Code Online (Sandbox Code Playgroud)

linux x11 opengl egl

6
推荐指数
0
解决办法
1516
查看次数

Doxygen,图形类层次结构中没有显示任何内容

我正在尝试使用 DOxygen 为相当大的代码库生成文档。

我通过 Doxywizard 获得了适用于 Windows 的 Doxygen 1.8.10。

我安装了Graphviz 2.38

我能够使用“专家”选项卡中的“递归”选项毫无问题地生成文本类层次结构。

我在向导中选择了“使用 GraphViz 包中的点工具”选项。

我还在 Dot 的“专家”选项卡中检查了“HAVE_DOT”和“CLASS_DIAGRAMS”选项。

当我生成文档并单击“显示 HTML 输出”时,我在图形类层次结构下看不到任何内容。我仍然可以在文本类层次结构中看到所有类及其依赖项。

在 Mozilla Firefox 中,“图形类层次结构”页面在 Internet Explorer 中显示为空,“图形类层次结构”页面显示许多排列在 1 列中的损坏的图像图标

我在这里做错了什么?

谢谢你,

c++ windows doxygen

6
推荐指数
1
解决办法
2817
查看次数

Visual Studio 2017,Intellisense无法正常工作

我刚刚从VS2015升级到2017年,语法错误的智能感知突出显示已完全消失。我尝试了一些在线上找到的建议,主要是Edit->Intellisense->Refresh Local Cache,但是该选项不再存在。

在“编辑”->“智能感知”下,只有Quick info当我按下它时什么都不做,而toggle completion mode它变成灰色

我正在使用Windows 10,C ++项目。我是否需要从VS2015中删除一些旧文件才能使智能感知再次起作用?喜欢VC.db文件?

谢谢

c++ intellisense windows-10 visual-studio-2017

6
推荐指数
2
解决办法
4758
查看次数

如何将.net standard 2.0安装到Visual studio 2017中

尝试在 Visual Studio 2017 中构建 Math.net Numerics 时,我遇到以下 4 个缺少的依赖项

.NETFramework 4.0
.NETFramework 4.6.1
.NETStandard 1.3
.NETStandard 2.0
Run Code Online (Sandbox Code Playgroud)

我似乎找不到这些 SDK 或二进制库或任何有关如何安装它们的信息。我需要安装 4 个独立的框架吗?还是只有一个 SDK?为什么我需要 .NetStandard 2.0 和 1.3 或框架 4.0 和 4.6.1?

有人可以指出我需要安装的链接吗?谢谢

.net windows visual-studio-2017

6
推荐指数
1
解决办法
2万
查看次数

如何在 Windows 上的 C++ 应用程序中正确嵌入 Perl 解释器

我有一个大约 15,000 行的 Perl 脚本,我想使用PerlInterpreterC++ 编译的 Windows 可执行文件来执行该脚本。

我尝试按照这些指示进行操作

我下载了 Perl 5.18 源代码并包含核心(安装)目录, for perl.h、 and EXTERN.h、以及core/win32andcore/win32/include

然后我尝试在 Visual Studio 2013 中编译简单的 C++ 项目

#include <EXTERN.h>               /* from the Perl distribution     */
#include <perl.h>                 /* from the Perl distribution     */

static PerlInterpreter *my_perl;  /***    The Perl interpreter    ***/

int main(int argc, char **argv, char **env)
{
  PERL_SYS_INIT3(&argc,&argv,&env);
  my_perl = perl_alloc();
  perl_construct(my_perl);
  PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
  perl_parse(my_perl, NULL, argc, argv, (char **)NULL);
  perl_run(my_perl);
  perl_destruct(my_perl); …
Run Code Online (Sandbox Code Playgroud)

c++ perl visual-studio

5
推荐指数
1
解决办法
1956
查看次数

Visual Studio 社区 2022 中缺少本机活动应用程序 (Android)

我正在尝试使用 C++ 为 android 构建一个本机应用程序,但我看到的唯一选项是创建 Java 项目的基本应用程序(Android、Gradle)。

我正在关注本教程,https://www.youtube.com/watch?v=3SJmf1HsVQU

本教程中出现的本机应用程序在我的 Visual Studio 2022 社区中不可用,

这在社区版中不可用,还是我错过了安装某些组件?

在此输入图像描述

我的 VS 设置 在此输入图像描述

c++ android emulation visual-studio ios

5
推荐指数
1
解决办法
1355
查看次数

如何检查线程是否为NULL

我正在使用一些类的实例运行一个简单的操作,我想在每个类的单独线程中运行此操作.如果该类的同一实例想要再次运行该操作,则必须等待该实例中的先前操作完成.但是,类的另一个实例应该能够在第一个实例执行相同操作时启动它的操作.

我想做的是这样的:

#include <thread>
class MyClass
{
    void Operation(){Sleep(10000);}
    void LaunchOperation()
    {
        if(opThread != NULL) //Pseudo Code line
            opThread.join();
        opThread = std::thread(&MyClass::Operation, this);
    }

    std::thread opThread;
}
Run Code Online (Sandbox Code Playgroud)

但这if(opThread != NULL)条线显然不正确.

是否有正确的替代品,或者我采取了错误的方法?

感谢:D

c++ winapi multithreading c++11 visual-studio-2015

3
推荐指数
1
解决办法
2491
查看次数

如何在 Linux 中的 C++ 中检测 SD 卡的存在

下午好,

我正在运行一个简单的循环来检查 SD 卡是否已插入或移除,但它似乎并没有一直正常工作。

问题是,当程序以插入的 SD 卡启动时,if(f.good())语句为True

当取出 SD 卡时,此语句为False

但是,当重新插入 SD 卡时,该语句仍然为False

C++ 中是否有更可靠的方法来检测 SD 卡的存在?我正在运行基于 OpenEmbedded 的 Linux Yocto。我宁愿避免使用任何外部库,并尽可能使用文件 IO 或系统调用。

谢谢。

我的循环如下所示,

    while (running)
    {
        ifstream f("/dev/mmcblk1");
        if (f.good()) {
            f.close();
            if (!mounted)
            {
                system("mount /dev/mmcblk1p1 /mnt/Storage");   
                mounted = true;
            }
            sdPresent = true;
        }
        else {
            f.close();
            sdPresent = false;
            mounted = false;
        }
        std::this_thread::sleep_for(std::chrono::milliseconds(500));
    }
Run Code Online (Sandbox Code Playgroud)

linux c++11 openembedded yocto

2
推荐指数
1
解决办法
5061
查看次数