① 如何解决vs2015运行缺少ucrtbased.dll的问题
1,安装.NET Framework 4.5.1
2,安装Microsoft Visual C++ Build Tools 2015
当前最新版本:Microsoft Visual C++ Build Tools 2015 Update 3
3,安装Microsoft Visual C++ 2015 Redistributable
编译使用注意:cl.exe /EHsc /D _DEBUG /MDd xx.cpp
使用/MDd选项编译源文件后,运行时需要 MSVCP140D.dll,VCRUNTIME140D.dll,ucrtbased.dll这三个DLL文件。
须将对应版本(x86,x64,arm)的ucrtbased.dll需要拷贝到目标文件(exe)的目录下才可以成功运行程序。
② 如何在visual studio2015更方便的编写C程序
VS2015Update1已经支持C++的单文件IntelliSense了,可以不用创建项目,直接创建一个.c文件,双击打开编辑
编译的时候使用命令行编译即可,开始菜单VS2015目录下面的命令提示随便打开一个(别带ARM字样就行),编译命令是cl
如果真要使用调试的话:
弄一个项目在那里,每次有要调试的内容时把整个文件的代码复制过去。
③ vs2015怎么编译c
1.创建项目,【文件】》【新建】》【项目】
2.项目类型为【Win32控制台应用程序】,自己定义项目名称,确定
3.按照Win32应用向导完成设置,【下一步】即可
4.选择应用类型为【控制台应用程序】,附加选项为【空项目】,然后【完成】即可
5.此时在【解决方案资源管理器】中看到所创建的项目
6.右击【源文件】,【添加】》【新建项】,创建c程序
7.编写c程序
8.在vs2015不能直接按【F5】运行,程序会一闪而过的。应该是先选择【生成】》【生成(此处是你的项目名称)】编译生成exe文件,再按【ctrl + F5】运行
④ VS2015+WDK10编译UMDF工程生成的inf文件怎么安装
设置目标或测试计算机是配置计算机以便进行自动驱动程序部署、测试和调试的过程。一个测试和调试环境具有两台计算机:主计算机和目标计算机。目标计算机也称为逗测试计算机地。使用主机上的 Visual Studio 开发和构建驱动程序。调试程序在主机上运行并且位于 Visual Studio 用户界面中。当测试和调试驱动程序时,驱动程序在目标计算机上运行。
主计算机和目标计算机必须能够彼此按名称执行 ping 操作。如果两台计算机已加入到同一工作组或同一网络域,则此操作可能更容易。如果你的计算机位于工作组中,我们建议你使用路由器(而非集线器或交换机)连接计算机。不支持对虚拟机进行设置。
准备目标计算机以进行设置
在目标计算机上,安装将用于运行和测试驱动程序的操作系统。
如果在 x86 或 x64 目标计算机上启用逗安全启动地,则禁用该功能。
如果目标计算机使用 ARM 处理器,则安装 Windows 调试策略。则无需禁用逗安全启动地。
在目标计算机上,运行与目标计算机平台匹配的 WDK 测试目标安装程序 MSI。可以在 Remote 下的 Windows 驱动程序工具包 (WDK) 安装目录中找到该 MSI。
例如:C:\Program Files (x86)\Windows Kits\10\Remote\x64\WDK Test Target Setup x64-x64_en-us.msi
如果目标计算机运行的是 N 或 KN 版本的 Windows,则安装适用于 N 和 KN 版本的 Windows 的媒体功能包。
如果目标计算机运行的是 Windows Server,请查找刚才通过 WDK 测试目标设置 MSI 创建的 DriverTest 文件夹。(例如:c:\DriverTest)。右键单击逗DriverTest地文件夹,然后选择逗属性地。在逗安全地选项卡上,向逗经过身份验证的用户地组授予逗修改地权限。
验证主机和目标计算机可以彼此执行 ping 操作。打开命令提示符窗口,并输入 ping 192.186.X.X(ip_adress)。
如果主计算机和目标计算机已加入到一个工作组,但它们位于不同的子网上,你可能必须调整某些防火墙设置,以便主计算机和目标计算机可以通信。请按照下列步骤进行操作:
两种方法(选一即可):
方法一:
在目标计算机上的逗控制面板地中,转到逗网络和 Internet地>逗网络共享中心地。注意你的活动网络。它可能是逗公共网络地、逗私有网络地或逗域地。
在目标计算机上的逗控制面板地中,转到逗系统和安全地>逗Windows 防火墙地>逗高级设置地>逗入站规则地。
在入站规则列表中,查找用于活动网络的所有网络发现规则。(例如,查找所有逗配置文件地为逗专用地的网络发现规则。)双击每个规则,然后打开逗作用域地选项卡。在逗远程 IP 地址地下,选择逗任何 IP 地址地。
在入站规则列表中,查找用于活动网络的所有逗文件和打印机共享地规则。对于每个规则,双击该规则,将打开逗作用域地选项卡。在逗远程 IP 地址地下,选择逗任何 IP 地址地。
方法二:
逗控制面板地->逗系统和安全地->逗Windows防火墙地->"启动或关闭Windows防火墙"->"关闭Windows防火墙"
设置目标计算机
现在,你可以随时在 Visual Studio 中通过主计算机设置目标计算机。
在主计算机上,在 Visual Studio 的逗Driver地菜单中,选择逗Test地>逗Configure Deivce地。
单击逗Add New Device地。
在逗Network host name地中输入目标计算机的名称。选择逗Provision Device and choose debugger setting地。
选择某种调试连接类型,并输入所需的参数。
设置过程将需要几分钟时间,并且可能会自动重新启动目标计算机一到两次。设置完成后,单击逗完成地。
WDK 10 与 Microsoft Visual Studio 完全集成。你可以使用 Visual Studio 开发环境生成驱动程序,也可以使用 Microsoft Build Engine (MSBuild) 直接从命令行生成驱动程序。
从 Windows 驱动程序工具包 (WDK) 8 开始,MSBuild 就已经取代了在早期版本的 WDK 中使用的 Windows 构建实用工具 (Build.exe)。现在,WDK 可使用与你用于构建 Visual Studio 项目相同的编译器和构建工具。使用早期版本的 WDK 构建的驱动程序项目必须进行转换才能在 Visual Studio 环境中工作。你可以从命令行运行转换实用工具,也可以通过从现有的源创建新的 Visual Studio 项目来转换现有驱动程序。
构建驱动程序主要有以下两种方式(选一即可)
方法一:使用 Visual Studio 构建驱动程序
构建驱动程序的方法与在 Visual Studio 中构建任何项目或解决方案的方法相同。当使用 Windows 驱动程序模板创建新的驱动程序项目时,该模板定义默认(活动)的项目配置以及默认(活动)的解决方案生成配置。
注意 你可以将使用 WDK 8 或 Windows 驱动程序工具包 (WDK) 8.1 所创建的项目和解决方案转换为适用于 Windows 驱动程序工具包 (WDK) 10 和 Visual Studio 2015。打开项目或解决方案前,请先运行 ProjectUpgradeTool。ProjectUpgradeTool 将转换项目和解决方案,以便可以使用 WDK 10 构建它们。
1、确保安装在你的计算机上的 SDK 和 WDK 的版本相同。
2、在 Visual Studio 中打开驱动程序项目或解决方案。
3、在逗解决方案资源管理器地中右键单击解决方案,并选择逗配置管理器地。
4、从逗配置管理器地中,选择与你感兴趣的构建类型相对应的活动解决方案配置(例如,逗调试地或逗发布地)以及活动解决方案平台(例如,逗Win32地)。
5、选择要构建驱动程序的目标操作系统。导航到逗驱动程序地>逗常规地中的项目属性,然后设置 TargetVersion 属性。
6、为驱动程序或驱动程序包配置项目属性。 可以为部署、驱动程序签署或其他任务设置属性。
7、从逗构建地菜单中,单击逗构建解决方案地 (Ctrl+Shift+B)。
方法二:
使用命令行构建驱动程序 (MSBuild)
你可以使用逗Visual Studio 命令提示符地窗口和 Microsoft Build Engine (MSBuild) 来从命令行构建驱动程序。
使用逗Visual Studio 命令提示符地窗口构建驱动程序
打开逗适用于 VS2015 的开发人员命令提示符地窗口。
在此窗口中,你可以借助 MSBuild.exe,通过指定项目 (.VcxProj) 或解决方案 (.Sln) 文件来构建任何 Visual Studio 项目。
导航到项目目录并为你的目标输入 MSbuild 命令。
例如,若要使用默认的平台和配置生成名为 MyDriver.vcxproj 的全新的 Visual Studio 驱动程序项目,请导航到项目目录并输入以下 MSBuild 命令:
msbuild /t:clean /t:build .\MyDriver.vcxproj
语法 - 若要指定特定的配置和平台,请使用以下命令语法:
msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS
例如,以下命令将为逗调试地配置、逗Win32地平台和 Windows 10 生成一个通用 Windows 驱动程序。
msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion=地Windows10地 /p:TargetPlatformVersion=地10.0.10010.0地
逗TargetPlatformVersion地设置为可选项,并且允许你指定用于生成的工具包版本。默认值为使用最新的工具包。
使用 Visual Studio 中的选项增加构建输出详细信息的步骤
1、单击 Tools > Options。
2、单击逗项目和解决方案地文件夹并单击逗生成并运行地。
3、更改逗MSBuild 项目构建输出详细信息地和逗MSBuild 项目构建日志文件详细信息地。 默认情况下,这些都设置为逗最少地。
⑤ vs2015动态库编译失败
。。。你这是编译还是编译再启动 DLL
⑥ VS2015的跨平台特性会对Qt带来冲击吗
vs2015
支持c++开发跨平台的库,这样对于Qt而言会有多大的冲击呢?将来用VS开发c++跨平台和QT开发跨平台应用发展趋势各是怎样的?如果现在新项目要开
发跨平台的高性能应用,如果用c++是选择QT还是VS2015的跨平台特性呢?另外VS2015跨平台对于界面的支持如何?
注
意:不是在讨论IDE,也不是在讨论.net的跨平台!而是VS支持c++跨平台的特性。既然要跨平台,对于与系统无关的库显然是用标准c++。而涉及到
与系统相关的API的封装,VS2015(姑且就用IDE来代称)会向Qt一样去封装成统一的API吗?或者说会去走Qt的路吗?
各抒己见:
VS 2015 是个庞然大物,有多大呢?大家可以去它的下载页围观一下:Visual Studio 2015 CTPs
但细到楼主的这个问题,其实 VS 的跨平台特性的重点还是手机 app 的开发,而且只是在一个 IDE 里开发。而不是一份代码跨多个平台。至少从 Build cross-platform apps with Visual C++ 这篇文档我是这么理解的。我没有时间做的更细。如果题主了解 Qt 手机应用的开发,再下载一下 VS 2015 做个测评,就完全可以得出一个简单的结论,根本不用提问。微软的这个特性,野心很大,希望是能一举拿下 iOS 和 Android 平台手机应用的开发。
不过我连这个也不看好。但我的原因很主观:
经过了这
么多年的发展,软件开发行业已经完全渗入了整个社会。当年的那种,比如说五笔吧,一个软件只要是用电脑的都会用到,这种可能性已经非常小了。一个软件解决
方案的针对性是非常强的。而它的应用场景的复杂已经远远超过一般人的想象。想打造一套方案,或者时髦一点,生态环境,拿下整个市场,从HPC集群到PC再
到手机,甚至路由这样的嵌入式设备?面对这个想法,我只能呵呵了。而微软就觉得这是可行的。更简单地说,在前所未有的细分下,针对一个特定的任务,从开发
环境,工具链,到所选择的语言都会非常地不同,这不是一个 VS 就可以满足的。
以上是我个人觉得 VS 2015 实在是托大的理由。下面说说我对 Qt 的认识。
Qt
最早是用来实现 UI 的跨平台库,最早如果你先在 Unix 实现了一个程序,然后想移植到 Windows 上,那是要买 License
才行的,这也是早期 Qt 的主要收入来源。之后 Qt 逐渐移植到了苹果上,后来被诺记收了又可以在 S60 上跑。再后来被诺记卖了,于是支持
Android 。尽管最近的金主都是在希望 Qt 可以跑手机。但 Qt 最大的用户在 KDE 上,由于它是 Linux 甚至整个类 Unix
上环境不多的可用的 GUI 程序开发框架和环境,至少一大半跑在 Unix-like 下的 GUI 程序都会用到 Qt (另外一半是 Gnome,
还有一点点是其它,……)。这部分开发者才是 Qt 整个社区的基石,而他们尽管在产品的理念上会跟风微软和苹果,但他们是不会在短时间内转向 VS
的,更长时间看也不会。
当然
Qt 最近有点火,不光是国内,根据我的见识,那是因为做特定的嵌入式开发的缘故,做手机应用开发有,但并不算常见。所以, VS
就算在手机应用开发上火起来,对于 Qt 来说仍不是什么大不了的事情。只是在短期内损失一批潜在的贡献者而已。当然,上面可以看出,我对 VS
这玩意可以成功也持保留意见。
所以简单地说, VS 2015 这东西目前跟 Qt 风马牛不相及,自然也没什么冲击可言。
最后补充一下:
我觉得题
主的这个提问没有提到点子上。因为 VS 说到底还是 IDE ,而 Qt 是开发框架。两者没有什么可比性。如果仅仅针对这个跨平台的特性而言。 VS
的这个方案跟没法与 Qt 相提并论,尽管我也不看好 Qt 程序的跨平台,所以 VS 2015 的这个特性根本就没有什么亮点可言。
更进一步
推,题主的提问,可能只是初学者,想选一个简单的跨平台的开发环境做学习之用。我觉得还是 Qt 吧。原因很简单, Qt 环境比 VS
小得多,目标也确定的多。如果想赚钱,请直接去投苹果。 当然安卓也是一个选项。 VS
看上去嘛都有,什么都可以干,但是用上了,我估计会有种,这玩意怎么做嘛嘛不行的感觉。如果题主是重度 VS 使用者的话另说。
先说下个人观点,我不看好Qt。
“相对客观”的说:
1)Qt 在iOS和Android的UI支持上只能算是一般,和原生UI相差甚远,对平台新版本的新特性支持薄弱。VS对这方面的支持,基于乔布斯的评语“微软太缺乏审美能力”,我也表示完全不看好。
2)业务层用Qt的库相比个家公司自己用原生的C艹库差别还有的。除非是哪家公司用Qt做了基础库,这是例外。基于VS的iOS、Android支持的编译器是gcc和clang,WinRT是MSVC,这部分和Qt都是一致的。
3)Qt
的反射封装或者是Meta系统封装很重,至少要超过了c艹标准的rtti。虽然这套系统适合用来开发UI,但是作为业务层,如此重的外壳,用Qt就失去了
一部分用java、objective c
迁移到C艹的性能优势。VS里面由于编译链的限制,而且基于llvm的coreclr支持还是幼儿期,几乎不用考虑c#的可能性。
4)最近几个月都在观察QtBug 列表,上面用户Qt对iOS、Android吐槽不断,小Bug层出不穷,甚至有的会影响正常启动。对WinRT的支持更不给力。VS对WinRT支持肯定会是Native的,至于其他两个平台,得靠自己维护了。
5)Retina
支持。除了Mac平台支持稳定,其他平台只是承诺要增加支持。那个Improve Retina
支持的帖子是去年发的,今年年初发布的Qt5.4也只是完善了Mac部分和加入实验性质的Windows、Linux支持。等到完美加入这部分支持,又是
何年何月?
6)Qt
对移动端的投入究竟能有几斤几两?首先说一个不相干的话题是,Qt对桌面跨平台的支持可谓是筋疲力竭:对Windows
8/8.1的2xDPI显示支持(HIDPI),还需要手动设置环境变量外加程序内启动选项选项才能开启,不然用Qt原始方式实现的界面都是变形扭曲
的;Mac的StatusBar 中用设置了template的NSImage
何年才能有;Linux在从Qt5.1就regression消失的TrayIcon也是时隔三个大版本到即将发布的Qt
5.4.2才有修复。其6个月的漫长的开发周期,庞大而臃肿的库,面对对更新迭代更疯狂的移动端,Qt的表现是Qt缺乏有对iOS、Android的相关
支持,运行时家常便饭的各色crash,对WinRT的支持我认为这更象是一个hacker的项目。VS只有等VS2015才能评论。
7)我认
为跨平台的C艹支持最显着的收益,是UI层封装一次跨平台的组件还是业务层的代码复用和性能优化?同1)3)6)中讨论,我个人认为Qt
UI层的剥离平台相关的开发纯属扯淡,跨平台对C艹开放最大的收益还是复用高质量的基础库和核心业务代码带来的性能优势和项目维护优势。
8)Qt
的Mobile开发支持,本身的开发工具是平台相关的,就是说Qt不能在Windows下开发iOS和Android,Qt也不能在Linux下开发
iOS。相比Windows下VS2015
带来CrossMobilePlatform支持,开发机器只要是Windows就可以。这点上Qt编译链技术完败。
总而言之,跨平台的移动端开发的看点会是在业务层的开发上,UI层不应该是跨平台移动端开发争夺的重点。至于是VS 还是Qt,看官自己决定吧。
1. Qt SDK现在最新版本为5.4,按照官方说法,其LGPL协议下,提供以下目标平台的二进制开发包:
Windows Desktop x86/64
Windows Store App
Windows Phone 8.1
Android arm5/7
Android x86
MacOS
iOS
如果在GPL协议下或者之前老版本的Qt,可以支持塞班、黑莓、各种嵌入式开发板等平台。Qt支持的目标平台肯定还是比VS2015多的。
2. Qt不仅仅是一个c++界面库,它在实现了一套基于C++的反射功能的基础上,包含了网络、数据库、多媒体、测试框架、国际化工具、打包部署模块等,甚至还自己封装了一个WebKit模块。此外,Qt有收费才能使用的模块:
Qt Purchasing
Qt Charts
Qt Virtual Keyboard
Qt Data Visualization
现在,除了这些传统客户端开发工具以外,Qt也推出了云服务QtCloudServices。当然现在可能有变化。
3. 由于平台众多,Qt传统的基于QWidget界面在适配各种不同DPI的屏幕时,设计风格、控件及字体、图标大小等方面是会存在问题的,Qt5.4版本开始,官方宣称解决了DPI的问题:
High-DPI support for Windows and OS X
当然
Qt5.4版本以前(包括现在),Qt官方希望大家使用QtQuick(QML,一种基于JavaScript的语言。c++与QML的关系,有点像C#
与WPF一样)来解决触屏和DPI的问题,使用QML开发的话,在各个目标平台显示效果都是一样的,并且能够很方便的与C++代码交互。当然,与.Net
的WPF比起来,还差很远,但毕竟跨的平台比WPF多。Qt官方有一个用来显示股市信息的QML Demo(http://doc.qt.io/qt-5/qtquick-demos-stocqt-example.html),在Win8、Android、WP上面显示效果都非常好。
4. QtCreator这个IDE与Qt配合起来非常完美,在VS里面使用Qt总感觉怪怪的。如果不使用Qt,由于C++语法过于复杂,VS这种宇宙级的IDE也不能像c#那样来IntelliSense C++,但无论如何还是要强于Qt Creator的。
5.
VS2015中C++的跨平台,肯定不会是一次编写处处运行(除非写的是标准C++)。如果带有界面(Win的MFC、WTL,Linux的X11)、或
者有用到POSIX、WIN API,怎么可能不修改代码直接跨平台?而Qt有自己的一套GUI、Networks等框架,如果严格使用Qt
SDK的标准来开发,完全可以不修改代码,在各个平台编译就行。
⑦ VS2015如何单个编译源文件
不行的,VS无法编译单个源,你这样的三个文件实际上是在一个工程内的,也就是说是同一个项目,当然只能有一个main()。
⑧ vs2015的c语言怎么编译运行
按照C++创建工程
写代码
或者导入C文件 h文件
点工具栏里面的编译按钮编译
也可以F5直接编译运行。
⑨ vs2015驱动开发编译错误
楼主 你解决了吗 我也遇到这样的问题 好烦人 以前都没有遇到过
⑩ vs2015 C语言编译问题
你这个是不是MFC的工程?会不会和使用的系统环境有问题,win7,xp,或者win10的