相关疑难解决方法(0)

在VS中编译C++而不需要在运行时使用MSVCP120D.dll

我正在尝试制作一个可以在任何Windows机器上运行的二进制文件,而无需安装可视化c ++的东西(我假设那是MSVCP120D.dll,但是我的搜索并不是很有效,这实际上是什么).我为一个任务做了一个游戏,并希望有其他人(非开发人员没有安装VS的东西),帮我测试但是他们不断收到错误,说上面的dll丢失了.我没有使用任何Visual C++的东西,并设置了/ Za标志,以确保它只是ANSI C++.Visual Studio是否支持编译ANSI C++,如果是这样,我如何使它不使用Visual C++的东西,如果它不支持这个我应该使用什么编译器?

c++ dll visual-studio-2013

12
推荐指数
2
解决办法
3万
查看次数

Android静态链接与针对glibc的动态链接

我一直在将一些Linux工具(以及我自己的一些C代码)交叉编译到Android,我面临的挑战之一就是Android的libc有一些缺失/剥离的组件,我最终修补了我的代码以使其能够与Android的libc(例如像http://credentiality2.blogspot.com/2010/08/compile-ncurses-for-android.html这样的问题)

Q1:在使用arm工具链(或ndk-build)进行交叉编译时,如何静态链接glibc(以及其他依赖项)?

Q2:对于Android的二进制文件静态链接glibc是一个好主意吗?如果我开始静态链接,我是否应该期待任何事情?有任何性能/内存问题吗?

我理解静态与动态链接的大部分优缺点 - C++应用程序 - 我应该为库使用静态或动态链接吗?静态链接与动态链接

因此,我希望知道在交叉编译二进制文件时是否应该静态链接glibc for Android.

android libc dynamic-linking static-linking android-ndk

10
推荐指数
1
解决办法
9477
查看次数

CocoaPods:如何获得我链接到的每个pod的二进制大小?

目前我的项目依赖于许多pod,添加pod使我的二进制文件更大,我想检查我链接的pod并查看哪些是最大的,以便我可以知道我应该删除哪些.

任何的想法?

谢谢.

xcode ios cocoapods

9
推荐指数
2
解决办法
1805
查看次数

msvcp110.dll,我该如何解决它?

我有以下问题:我使用Microsoft Visual Studio 2012,它将msvcp110.dll添加到我的版本.我已经在这里和那里阅读了一些帖子,我知道这是由于我同时使用iostream和string并将其链接到我的程序.我在我的电脑上使用它没有问题,但我想向其他人展示.所以我的问题是,尽管对其他人尽可能无痛,我怎么能绕过这个问题,仍然使用一些基本的标准好东西?我知道其他人可以安装Visual Studio Runtime的东西,但这有点痛苦.

c++ visual-studio-2012

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

Linux:C/C++标准库静态与动态链接

可能在任何操作系统上都可以静态或动态地编译C++/C标准库.在Windows上我总是喜欢静态构建,因为它有助于避免在特定的Windows版本,版本和服务包等上安装或不安装不同版本库的"dll hell"问题.静态链接使软件更便携,更少依赖于什么最终用户使用他的操作系统(我甚至看到最终用户可以SHIFT+DEL在某些DLL上进行的示例system32,他无法解释原因,或者当用户声称我的应用程序包含病毒时,因为它试图从官方Microsoft网站下载动态链接的先决条件...)因此,在我的经验中,静态链接通常比动态链接更好.但是,我是Linux新手,所以有人可以分享他的经验吗?我的问题是:如果我们忽略动态的一个允许节省内存和硬盘空间以及我们计划使用自动安装程序(硬盘驱动器空间和内存)分发软件的事实,那么在Linux上提供什么样的链接(动态或静态)?现在已经足够便宜了,所以没有理由牺牲创建真正好的便携式安装程序所需的工作时间来赢得一些兆字节的RAM或硬盘空间.动态/静态链接是否存在特定于Linux的问题?

c c++ linux shared-libraries static-libraries

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

为什么java只允许动态链接?

我正在关注YouTube上关于编译器的教程视频,当时我发现C编程语言更快,因为它允许静态链接和动态链接,但Java只允许动态链接,这就是为什么C比Java快得多的原因.

我的问题是,如果静态链接使程序运行得更快,为什么它不包含在Java中?我知道为什么Java的开发人员决定不包含静态链接必须有一些真正的理由,我只是想知道原因是什么.

注意:我不知道这个问题是否已经在SO上有答案,但由于我找不到,所以我发布了.如果答案已经存在,请提供链接.

注意:提供的教程链接是印地语.对于那个很抱歉.

java compiler-construction dynamic-linking static-linking

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

链接和绑定有什么区别?

我正在阅读有关这两件事并且感到困惑,这两者之间有什么区别?

c c++ linker

5
推荐指数
2
解决办法
3387
查看次数

如何找出我的DLL增长如此之多的原因

我一直在努力的DLL最近增长了很多.是否有任何工具可以告诉我对此负责的是什么?例如,它是一个被实例化太多次的模板,或者可能是第三方库,或者可能是提升?

我正在寻找一种看大小而不是性能的分析器.

c++ optimization profiler

4
推荐指数
1
解决办法
448
查看次数

C/C++静态与动态库示例

我正在学习静态和动态库.到目前为止,我理解为什么我需要一个动态库.如果有什么东西在变化,最好插入一个新版本,所有的应用程序都会自动更新,甚至没有注意到.

a)非常适合插件,b)使用相同库的多个应用程序和c)需要纠正错误时的维护.

但是,为什么有人会使用静态库?我的意思是什么是优势?某人有一个例子,所以我能更好地理解它吗?是否使产品成为专有产品?

编辑:由于评论中的混乱.我理解静态库是什么,我也知道动态库之间的区别.除了我之外,为什么有人会使用静态库而不仅仅是源本身.我想我现在开始明白静态库具有以下优点:

a)更好的代码维护b)更快的编译时间

c c++ static dynamic

3
推荐指数
2
解决办法
5439
查看次数

动态链接,内存使用和并发

当可执行文件与静态库链接时,可执行文件仅包含代码中使用的必要库部件,对吧?

但是我错过了这个部分 - 如何使用共享对象(动态链接库)?

据我所知,它们不包含在可执行文件中,它们是动态加载的dlopen,这是由链接器直接完成的,对吧?

在这种情况下,这个库位于内存中的哪个位置?我的意思是,这里有帖子,解释说动态库可以减少内存使用量,但究竟是怎么回事?如果动态库以某种方式加载到共享内存中(对于多个进程),在这种情况下内核如何处理并发?

我意识到这可能是基本的,如果这是重复的话我很抱歉,我找不到这样的.
我知道静态链接与动态链接,我问的是有点不同.

c c++ unix memory dynamic-linking

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

静态链接的二进制文件如何比动态链接的二进制文件小?

如果您阅读有关stali的描述,它会提到静态链接的二进制文件大小:

它还通过尽可能避免使用 glibc 和其他臃肿的 GNU 库来减少二进制文件的大小(早期实验表明,静态链接的二进制文件通常比动态链接的 glibc 对应文件小!!!)。

我不明白在二进制文件中包含库如何使二进制文件比包含库的二进制文件小(也许我在静态与动态链接方面缺少一些东西)。

这怎么可能?这是否只发生在某些特定情况下?

linux linker glibc dynamic-linking static-linking

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

使用/购买Qt SDK(包括Qt Creator等)

我目前正在学习C++(我知道在创建GUI应用程序之前我必须先学习所有内容,首先是在控制台上,但是)

在做一些搜索SDK时 - 这有助于创建我的应用程序的GUI - 让我自己编写重要的代码 - 我发现,下载并安装了一个C++ IDE; Qt SDK(Qt Creator试用30天; 版本2.5.2,基于Qt 4.8.2).

我的问题是:

  • 如果我喜欢该应用程序,并且试用版到期并且我想购买该应用程序,许可证会花多少钱?如果你们中的任何人使用过,或者使用过这个应用程序,你花了多少钱?(我已经检查了他们的网站,说实话,这是非常令人生畏的,并且没有关于定价的信息等)
  • 哪个许可证足以让我在网站上创建应用并在线销售.(我显然想避免购买错误的许可证并遇到麻烦!)

如果你能帮帮我,谢谢!如果这是一个非问题或不适合本网站,请给我参考等.:)


注意!

我的应用程序将是封闭源代码(商业,非免费,但有些内容除外).我猜这会影响哪些许可条款/类型适用于我.

此外,当我购买软件时,我是否必须提及我使用它或提供任何参考等.


澄清

澄清一下,我的需求如下:

  • 我的软件可能是也可能不是免费的(每个版本都有免费和付费版本)
  • 我的软件源不应该是可用的,我特别希望我的应用程序是闭源的,即没有人应该访问用于构建它的源代码.
  • 我将从网站(公司网站)销售/分发我的软件.

c++ qt licensing qt-creator

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

qt共享库包括外部头文件

我正在尝试将我的一些代码分开并将其放在一个共享库中,我可以在其他地方使用它.在文档中:

http://doc.qt.io/archives/qt-4.7/sharedlibrary.html

他们说你无法链接到其他头文件.我如何能够将共享标头包含到我的共享库中?

c++ qt shared-libraries

0
推荐指数
1
解决办法
1463
查看次数