草庐IT

c - 如何将 Windows 中的简单程序与 Mingw GCC 链接

我有一个简单的“HelloWorld!”c程序,在我的桌面上名为hello.c:#includeintmain(){printf("Helloworld!\n");return0;}我运行以下命令。我使用以下方法对其进行预处理:cpphello.c>hello.i我编译它:gcc-Shello.i我将其组装为:as-ohello.ohello.s到目前为止一切都很好。但是,我无法链接它。除了其他命令外,我已经尝试过这些:ld-ohello.exehello.old-ohello.exehello.o-lgccld-ohello.exehello.o-nostdlib-lgcc没有任何作

windows - 如何编译这个程序?链接器阶段错误

我已经在Windows10上安装了gnatgpl2016,并尝试使用gnatmake编译以下(小)程序。问题是由于从libc导入一个函数,任务似乎比简单的gnatmake.exegsh_repl.adb复杂得多[gnatmake可以在linux上很好地编译它——在最坏的情况下添加-lglibc就足够了]。我的问题是我不知道应该添加哪个选项才能使链接阶段成功完成。这是程序:withAda.Text_IO;withSystem;procedureGSH_ReplisfunctionSystem(Command:inString)returnIntegerisActual_Cmd:alias

windows - DLL 从其父级(加载程序)获取符号

我正在将程序移植到MSWindows。该程序使用动态加载的插件。插件在主程序中引用符号。如果不解析所有符号,我什至无法让DLL通过链接器。有办法解决吗? 最佳答案 (抱歉,我想在评论中要求澄清,但我是新手,不允许。)当您说插件“在主程序中引用符号”时,是指引用函数还是数据?另外,您使用的是什么语言/编译器?假设它只是关于函数,并且在C/C++中:可以从.EXE中导出一个函数,就像它是一个DLL一样。只需在.EXE中的函数定义前指定__declspec(dllexport)即可。编译.EXE时,应生成一个.LIB文件,然后您可以在链接

windows - GHC::在 Windows 上再次链接 sqlite3 失败

我创建了一个简单的应用程序,它使用sqlite3作为它的数据存储后端。我在Linux上构建和运行它时没有遇到任何问题,但是在我尝试在Windows上构建它之后,我看到了奇怪的链接错误:Linkingdist\build\hnotes\hnotes.exe...C:\DocumentsandSettings\Admin\ApplicationData\cabal\sqlite-0.5.2.2\ghc-7.0.4/libHSsqlite-0.5.2.2.a(sqlite3-local.o):sqlite3-local.c:(.text+0x21):undefinedreferenceto`

C++ Windows 二进制文件 : conditions to be used with MinGW

我是C++的新手,我现在正在为编译和链接而苦苦挣扎。最近我一直在使用cmake和make重新编译一个使用Boost(Cmakedoesnotfindboost1.51(windows8))的库(mlpack)。在第一次尝试中,我下载了适用于Windows的预编译二进制文件。这并没有很好地解决问题,我已经解释过我使用的二进制文件是针对MSVC的,而不是MinGW,因此很麻烦。事实上,在使用MinGW重新编译boost之后,一切正常。在这里,我只想直观地了解一下MSVC和MinGW的二进制文件之间的区别。我(天真地?)认为二进制文件是特定于操作系统/处理器的。MSVC的二进制文件包含什么使

c - 生成正确的 .DEF 文件以导出非静态函数和 GLOBALS

从aquestionaboutdetectingbadlinkagetoglobalsacrossdllboudaries开始,事实证明我需要修改PostgreSQL项目使用的.DEF文件生成器工具,以便它正确地为全局变量的.DEF条目发出DATA标记。问题我似乎无法使用Microsoft的工具找到一种方法来获得区分全局变量和函数的符号表列表,其中包括未在其定义站点初始化的全局变量。想法?断流方法该工具循环遍历dumpbin/symbols输出以生成.DEF文件。与我习惯的nm不同,dumpbin/symbols似乎不会为每个符号发出一个条目来指示符号类型-函数、已初始化变量、未初始化

windows - 如何找出哪个库包含 libcmt?

我正在尝试链接一个依赖于多个静态库的Windows可执行文件(其中一些我已经构建,一些我还没有)。当我做链接时,我收到了一堆错误,例如:LIBCMT.lib(mlock.obj):errorLNK2005:_unlockalreadydefinedinMSVCRT.lib(MSVCR100.dll)这是经典的/MD与/MT问题(C运行时是静态链接还是动态链接)。我首先尝试了简单的解决方案,添加了链接器标志/nodefaultlib:libcmt/nodefaultlib:libcpmt但这只是给出了不同的错误:msvcprt.lib(MSVCP100.dll):errorLNK2005

windows - 使用 link.exe 链接时未重定位的地址

问题当我使用as(binutils)编译我的汇编代码并使用link.exe(VisualStudio2015)进行链接时,程序因地址未重定位而崩溃。当与gcc(gcchello-64-gas.obj-ohello-64-gas.exe)链接时,程序可以正常运行而不会崩溃。我是否正确地假设as生成的目标文件应该是独立于编译器的,因为abi兼容性问题在汇编代码编写者手中?由于我是初学者,因此感谢任何对我的错误/不正确假设的解释。平台Windows10,64位链接器:VisualStudio2015使用native命令工具命令提示符(x64)编译器:as来自MinGW-w64例子以下代码没有

windows - 无法安装 psycopg2

我正在尝试安装psycopg2,这样我就可以在Python和Django中使用PostgreSQL。在过去的几个小时里,我在尝试安装它时遇到了多个错误,而且似乎无法解决最新的错误。当我运行时:setup.pyinstall在命令控制台的psycopg2上,它尝试安装它,但在尝试在VisualStudio8文件夹中执行link.exe时出现错误。这对我来说没有意义,考虑到当我从Windows资源管理器和命令控制台启动该可执行文件时,它可以正常工作。我什至为它做了一个环境变量。然而,它不断给出:"error:commandC:\ProgramFiles(x86)\MicrosoftVisu

windows - 在 Windows 平台中将 Ghostscript 链接到 pypdfocr

通过pip安装安装了pypdfocr和ghostscript。但是,当pypdfocr在命令提示符下运行时:[env27]C:\Users\888537>pypdfocrHotel.pdfERROR:CouldnotfindGhostscriptintheusualplace;pleasespecifyitusingyourconfigfile关于需要做什么来链接这些库请求帮助? 最佳答案 您可以通过其页面上提供的安装程序直接安装Ghostscript-https://ghostscript.com/download/gsdnld.