草庐IT

linker - 去-LDFLAGS : -w -hostobj gives error

coder 2023-07-01 原文

我正在编写一个调用 C 代码的 Go 包。我需要调用主机链接器,但不幸的是添加 -hostobj 标志会给我以下错误:

gcc: error: unrecognized option ‘-h’

操作系统为Linux,架构为amd64。

这里是所有的标志:

// #cgo CFLAGS: -I. -fPIC
// #cgo LDFLAGS: -lstdc++ -w -hostobj -L. libsomething.a
// #include "something.h"
// #include <stdlib.h>

我做错了什么?

最佳答案

在 Go 源存储库 default 分支的 tip,使用 -linkmode,而不是 -hostobj。例如,-linkmode=external

Issue 4069 :cmd/ld:为 cgo 构建调用主机链接器 尚未标记为已修复。

关于linker - 去-LDFLAGS : -w -hostobj gives error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15592463/

有关linker - 去-LDFLAGS : -w -hostobj gives error的更多相关文章

  1. go ldflags 设置变量值不起作用 - 2

    我正在尝试使用gobuild来更新我项目中的一个变量:完整项目路径:c:\goprojects\src\deployment\cl\apps\appName从c:\goprojects\src运行goinstall-ldflags="-Xmain.GitRev=adaf66c"deployment\cl\apps\appName\...在go项目中我有:packagemainvarGitRev="oldvalue"funcmain(){fmt.Println("variablecontents:",GitRev)}然后从我运行的命令行:..\bin\appName.exe我期待看到的值

  2. google-app-engine - 如何将 -ldflags 传递给 GAE 构建? - 2

    我有一个用Go编写的HTTP服务。在main.go中,我有一个全局的version字符串。packagemainvarversionstring在本地,我使用-ldflags"-Xmain.version=$VERSION构建,其中$VERSION由shell环境确定,如下所示:VERSION=v0.16.0gobuild./cmd/app-ldflags"-Xmain.version=$VERSION我最近决定试用GoogleAppEngine,并从一个基本的YAML文件开始:runtime:go111handlers:-url:/.*script:auto我可以在YAML文件中设置

  3. go - CI/CD 构建因 go -ldflags 而失败 - 2

    Docker镜像:golang:1.12.1。本地Go版本:go1.10.4linux/amd64。我的bash脚本中有这样的命令:GOOS=linuxGOARCH=amd64gobuild-ldflags'-s-w-Xmain.Version=$(gitdescribe--tags)'-o./path/to/binary./main.go&&现在CI/CD在此命令上失败,但一个月前使用相同的Docker镜像一切正常。是-ldflags被弃用了还是什么?控制台输出:#command-line-argumentsusage:link[options]main.o...//skipped-

  4. go - 如何在 Golang 构建中使用 -ldflags -X 设置包变量 - 2

    我正在使用Go1.9.2创建一个应用程序,我试图在构建过程中使用ldflags-X选项向它添加一个版本字符串变量。我已经设法在我的main包中设置了一个Version变量,方法是:-ldflags"-Xmain.Version=1.0.0",但是我真正需要的是在我的config包中设置Version变量,而不是main变量。这可能吗?这是我的构建命令:gobuild-ldflags"-Xconfig.Version=1.0.0"-o$(MY_BIN)$(MY_SRC) 最佳答案 引自Commandlink的文档:-Ximportpa

  5. go - 如何在 Golang 构建中使用 -ldflags -X 设置包变量 - 2

    我正在使用Go1.9.2创建一个应用程序,我试图在构建过程中使用ldflags-X选项向它添加一个版本字符串变量。我已经设法在我的main包中设置了一个Version变量,方法是:-ldflags"-Xmain.Version=1.0.0",但是我真正需要的是在我的config包中设置Version变量,而不是main变量。这可能吗?这是我的构建命令:gobuild-ldflags"-Xconfig.Version=1.0.0"-o$(MY_BIN)$(MY_SRC) 最佳答案 引自Commandlink的文档:-Ximportpa

  6. c - 将 go linker 构建为独立工具 - 2

    关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在浏览go源代码,我想将其构建为osx的独立链接器,可以生成mach-o文件。有办法做到这一点吗?

  7. java - 为什么 GWT Linker Cross-Site-Iframe 会忽略 gwt.xml 中的脚本标签? - 2

    为什么gwt-recaptcha-1.0.0.Beta2.jar在链接模块时阻止recaptchajar中的脚本标签?在我使用GWT的Web应用程序中,我使用了验证码验证。为了使用验证码,我使用了ClaudiusHauptmann的gwt-recaptcha-1.0.0.Beta2.jar。在这个jar的gwt.xml文件中有一个脚本配置如下:当我运行该项目时,它会通过在控制台中提供以下消息来忽略加载脚本:LinkingmodulesBootstraplinkforcommand-linemodule'com.web.Ask'Linkingmodule'ask'InvokingLink

  8. c++ - Visual Studio 9 : Display Linker Search Paths - 2

    我如何说服MSVC9链接器向我显示它正在搜索包含库(lib)的路径?我正在尝试解决出现以下链接器错误的问题:LINK:fatalerrorLNK1104:cannotopenfile'MyGizmo.lib'在Linker>General下,我将AdditionalLibraryDirectories设置为:..\..\..\x64\Release我认为这是我要查找的lib文件所在的位置。当我将此路径更改为lib文件所在的完全限定目录时,链接器通过并找到lib文件。因此,我得出结论,我在上面输入相对路径的方式是不正确的。如果路径是相对于源代码所在位置的路径,则此相对路径应该是正确的。那

  9. c++ - 模板函数特化 : linker error - 2

    当模板参数类型相同时,我正在尝试专门化两个模板参数的函数。我通过以下方式进行:#include#includeusingnamespacestd;templateintfun(U&u,Tt);templateinlineintfun(int&u,floatt){coutinlineintfun(U&u,typenamestd::enable_if::value,T>::typet){cout此代码编译良好(GCC4.8.2),但当U和T相同时,链接器会为所有fun调用提供undefinedreference类型。为什么它不起作用?链接器输出:g++-std=c++11test.cpp/

  10. c++ - Xcode4 : "bad codegen, pointer diff" linker error again - 2

    这个问题与此相关:"badcodegen,pointerdiff"linkererrorwithXcode4和"badcodegen,pointerdiffinboost"errorin32-bitbuild和XCode3.2.6and4linkererrorsld:badcodegen,pointerdiffin...toglobalweaksymbol我目前正在将我的所有项目升级到Xcode4,但我遇到了一些奇怪的事情。-仅当我构建通用二进制文件或32位版本时才会出现上述错误。如果我只坚持64位,一切正常。我正在自己构建一个自定义静态库,现在我不在该代码中使用任何可见性设置(即at

随机推荐