文件是为存档而构建的,而不是链接的体系结构(x86_64)

比松

我使用makefile来编译我的C ++程序,但显示警告:

make
g++ -g -std=c++0x -o ns-client main.cpp Client.cpp TCPConnect.cpp RSAsample.cpp libStatic/libchilkat_i386.a libStatic/libchilkat_x86_64.a -lpthread
ld: warning: ignoring file libStatic/libchilkat_i386.a, file was built for archive which is not the architecture being linked (x86_64): libStatic/libchilkat_i386.a

我的makefile如下:

cat Makefile 
LIBS = libStatic/libchilkat_i386.a libStatic/libchilkat_x86_64.a -lpthread
GPP = g++ -g -std=c++0x
TARGET = -o ns-client
CPP = main.cpp Client.cpp TCPConnect.cpp RSAsample.cpp

all:
$(GPP) $(TARGET) $(CPP) $(LIBS)
clean:
rm ns-client

libchilkat_i386.alibchilkat_x86_64.a通过我的下载,而不是由我来实现。我将它们放在一个名为“ libStatic”的目录下。这些都是我所有的C ++文件和lib:

ls
Client.cpp      RSAsample.cpp       libStatic
Client.h        RSAsample.h     main.cpp
Client_Common.h     TCPConnect.cpp      ns-client
Common_Num_Define.h TCPConnect.h        ns-client.dSYM
Common_Protocol.h   include         ns-server
Makefile        libDyn

在libStatic目录中,它具有:

ls
libchilkat_i386.a   libchilkat_x86_64.a

我不知道为什么会发生这种警告。即使有此警告,它仍然可以成功编译。但是,当我将它们上传到我们学校的服务器并进行编译时(我肯定上传了这些静态库),它显示:

 undefined reference to   

许多这类错误。例如:

/home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp:17: undefined reference to `CkRsa::exportPublicKey()'

这些错误中提到的所有这些函数和var应该包含在其中,libchilkat_i386.a libchilkat_x86_64.a因此我怀疑可能是因为我的Makefile。但是我不确定。我也怀疑这可能与第一个警告有关。有人可以告诉我如何解决第一个警告,或者为什么它不能在另一台计算机上编译但可以在我自己的计算机上编译?感谢大家的帮助!

这是它在我们学校的服务器上显示的所有错误:

/tmp/ccA32Kao.o: In function `My_RSA::My_RSA()':
main.cpp:(.text._ZN6My_RSAC2Ev[_ZN6My_RSAC5Ev]+0x19): undefined reference to `CkRsa::CkRsa()'
main.cpp:(.text._ZN6My_RSAC2Ev[_ZN6My_RSAC5Ev]+0x2b): undefined reference to `CkRsa::CkRsa()'
main.cpp:(.text._ZN6My_RSAC2Ev[_ZN6My_RSAC5Ev]+0x3d): undefined reference to `CkRsa::CkRsa()'
main.cpp:(.text._ZN6My_RSAC2Ev[_ZN6My_RSAC5Ev]+0x54): undefined reference to `CkRsa::~CkRsa()'
main.cpp:(.text._ZN6My_RSAC2Ev[_ZN6My_RSAC5Ev]+0x69): undefined reference to `CkRsa::~CkRsa()'
/tmp/ccA32Kao.o: In function `My_RSA::~My_RSA()':
main.cpp:(.text._ZN6My_RSAD2Ev[_ZN6My_RSAD5Ev]+0x1a): undefined reference to `CkRsa::~CkRsa()'
main.cpp:(.text._ZN6My_RSAD2Ev[_ZN6My_RSAD5Ev]+0x2c): undefined reference to `CkRsa::~CkRsa()'
main.cpp:(.text._ZN6My_RSAD2Ev[_ZN6My_RSAD5Ev]+0x3c): undefined reference to `CkRsa::~CkRsa()'
/tmp/cciEnFVR.o: In function `Client::Register()':
                /home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp:17: undefined reference to `CkRsa::exportPublicKey()'
    /home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp:18: undefined reference to `CkRsa::exportPrivateKey()'

/tmp/cciEnFVR.o:在函数Client::Login()': /home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp:128: undefined reference toCkRsa :: exportPublicKey()'中/home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp:129:对CkRsa::exportPrivateKey()' /tmp/cciEnFVR.o: In functionClient :: Judge_Command(char *)的未定义引用':/home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp: CkRsa::exportPrivateKey()' /home/users/liuly/liuly/networksecurity/project/cplus/client/Client.cpp:931: undefined reference to930:CkRsa :: exportPublicKey()的未定义引用'/tmp/ccRMXreb.o:在函数My_RSA::MyEncryption(char const*, char const*)': /home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp: 16: undefined reference toCkRsa :: put_EncodingMode(char const *)'/ CkRsa::ImportPublicKey(char const*)' /home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp: 25: undefined reference tohome/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp :17:对CkRsa :: encryptStringENC(char const *,bool)的未定义引用'/tmp/ccRMXreb.o:在函数My_RSA::MyDecryption(char*)': /home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp: 33: undefined reference toCkRsa :: put_EncodingMode(char const *)'/home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp:34:的未定义引用CkRsa::ImportPrivateKey(char const*)' /home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp: 42: undefined reference toCkRsa :: decryptStringENC(char const *,bool)' My_RSA::My_Initial_Key()': /home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp: 52: undefined reference to/tmp/ccRMXreb.o :在函数CkRsa :: UnlockComponent(char const *)'/ home / users / liuly / liuly / networksecurity / project / cplus / client / RSAsample中。 cpp:58:对CkRsa::GenerateKey(int)' /home/users/liuly/liuly/networksecurity/project/cplus/client/RSAsample.cpp: 61: undefined reference toCkMultiByteBase :: lastErrorText()的未定义引用collect2:错误:ld返回1退出状态make:*** [all]错误1

所有应该属于CKRsa的功能都在中#include "include/CkRsa.h",但是我肯定在我们学校的服务器上创建了“ include”目录,并将这些CKRsa.h文件上传到该目录中。

我修改了我的makefile,但是它仍然不起作用:

cat Makefile 
LFLAGS += -L     /home/users/liuly/liuly/networksecurity/project/cplus/client/libStatic 
LIBS = libStatic/libchilkat_x86_64.a  -lpthread
GPP = g++ -g -std=c++0x
TARGET = -o ns-client
CPP = main.cpp Client.cpp TCPConnect.cpp Common_Protocol.h RSAsample.cpp TCPConnect.h Client.h RSAsample.h include/CkRsa.h

all:
    $(GPP) $(LFLAGS)  $(TARGET) $(CPP) $(LIBS)

我再次修改了makefile,但仍然无法正常工作:

 cat Makefile 
 LFLAGS += -L           /home/users/liuly/liuly/networksecurity/project/cplus/client/libStatic 
 LIBS = -lchilkat_x86_64  -lpthread
 GPP = g++ -g -std=c++0x
 TARGET = -o ns-client
 CPP = main.cpp Client.cpp TCPConnect.cpp Common_Protocol.h RSAsample.cpp TCPConnect.h Client.h RSAsample.h include/CkRsa.h

 all:
     $(GPP) $(LFLAGS)  $(TARGET) $(CPP) $(LIBS)
马特·彼得森(Mats Petersson)

通过不使用不需要的库,可以轻松解决库问题(针对其他体系结构构建)。如果要发布makefile,则必须使用某种配置设置来确定正确的体系结构。如果这只是您自己的项目,请选择与您的系统相匹配的项目(通过makefile的外观x86_variant)。

该错误CkRsa::exportPublicKey是由您的客户端代码引起的:官方符号为CkRsa::ExportPublicKey-注意E函数名称开头的大写字母

这是标头文件:http : //smart-refrigerator-hbnu.googlecode.com/svn/branches/kmy/RFID_CLIENT_/include/CkRsa.h

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为存档构建的静态库,不是链接的体系结构(x86_64)

来自分类Dev

该文件是为不是链接的体系结构的arm64构建的(x86_64)

来自分类Dev

Xcode错误:文件是为归档而构建的,而不是链接的体系结构(x86_64)

来自分类Dev

Xcode 6.1:文件是为x86_64构建的,该文件不是要链接的体系结构(i386)

来自分类Dev

为iOS模拟器构建,但链接到为OSX构建的目标文件,用于Xcode 7中的体系结构x86_64

来自分类Dev

仅“仅构建活动体系结构”时出现“ Cordova链接器错误”“不是为要链接的体系结构构建的用于存档的文件(i386)”

来自分类Dev

为ARM64构建时体系结构x86_64的未定义符号

来自分类Dev

为ARM64构建时,体系结构x86_64的未定义符号

来自分类Dev

为模拟器构建时,体系结构x86_64的未定义符号

来自分类Dev

FBSDKLoginManager:体系结构x86_64的未定义符号+链接器命令失败,退出代码为1

来自分类Dev

体系结构x86_64的未定义符号,链接器命令失败,退出代码为1

来自分类Dev

体系结构 x86_64 和链接器命令的未定义符号失败,退出代码为 1

来自分类Dev

链接内核-输入文件的i386体系结构与i386:x86_64输出不兼容

来自分类Dev

Swift:Apple Mach-O链接器错误(文件对于体系结构x86_64太小)

来自分类Dev

体系结构x86_64的未定义符号:用于Caffe构建

来自分类Dev

构建LLVM示例:体系结构x86_64的未定义符号

来自分类Dev

XCode构建失败“体系结构x86_64的未定义符号”

来自分类Dev

编译/链接错误:体系结构x86_64的未定义符号

来自分类Dev

体系结构x86_64的未定义符号:链接错误?

来自分类Dev

体系结构x86_64的未定义符号:链接错误?

来自分类Dev

缺少必需的体系结构x86_64

来自分类Dev

如何修复x86_64体系结构错误?

来自分类Dev

Xcode Swift文件是为arm64构建的,该文件不是要链接的体系结构(armv7)

来自分类Dev

在文件opencv中缺少必需的体系结构x86_64

来自分类Dev

文件libCorePlot-CocoaTouch.a中缺少必需的体系结构x86_64

来自分类Dev

编译.C文件:体系结构x86_64的未定义符号

来自分类Dev

忽略文件SDWebImage.framework,缺少必需的体系结构x86_64

来自分类Dev

Flutter:应用不是x86_64。运行lipo -info :,应用程序的体系结构:arm64

来自分类Dev

多个文件使用的头文件中的结构声明导致体系结构x86_64的重复符号

Related 相关文章

  1. 1

    为存档构建的静态库,不是链接的体系结构(x86_64)

  2. 2

    该文件是为不是链接的体系结构的arm64构建的(x86_64)

  3. 3

    Xcode错误:文件是为归档而构建的,而不是链接的体系结构(x86_64)

  4. 4

    Xcode 6.1:文件是为x86_64构建的,该文件不是要链接的体系结构(i386)

  5. 5

    为iOS模拟器构建,但链接到为OSX构建的目标文件,用于Xcode 7中的体系结构x86_64

  6. 6

    仅“仅构建活动体系结构”时出现“ Cordova链接器错误”“不是为要链接的体系结构构建的用于存档的文件(i386)”

  7. 7

    为ARM64构建时体系结构x86_64的未定义符号

  8. 8

    为ARM64构建时,体系结构x86_64的未定义符号

  9. 9

    为模拟器构建时,体系结构x86_64的未定义符号

  10. 10

    FBSDKLoginManager:体系结构x86_64的未定义符号+链接器命令失败,退出代码为1

  11. 11

    体系结构x86_64的未定义符号,链接器命令失败,退出代码为1

  12. 12

    体系结构 x86_64 和链接器命令的未定义符号失败,退出代码为 1

  13. 13

    链接内核-输入文件的i386体系结构与i386:x86_64输出不兼容

  14. 14

    Swift:Apple Mach-O链接器错误(文件对于体系结构x86_64太小)

  15. 15

    体系结构x86_64的未定义符号:用于Caffe构建

  16. 16

    构建LLVM示例:体系结构x86_64的未定义符号

  17. 17

    XCode构建失败“体系结构x86_64的未定义符号”

  18. 18

    编译/链接错误:体系结构x86_64的未定义符号

  19. 19

    体系结构x86_64的未定义符号:链接错误?

  20. 20

    体系结构x86_64的未定义符号:链接错误?

  21. 21

    缺少必需的体系结构x86_64

  22. 22

    如何修复x86_64体系结构错误?

  23. 23

    Xcode Swift文件是为arm64构建的,该文件不是要链接的体系结构(armv7)

  24. 24

    在文件opencv中缺少必需的体系结构x86_64

  25. 25

    文件libCorePlot-CocoaTouch.a中缺少必需的体系结构x86_64

  26. 26

    编译.C文件:体系结构x86_64的未定义符号

  27. 27

    忽略文件SDWebImage.framework,缺少必需的体系结构x86_64

  28. 28

    Flutter:应用不是x86_64。运行lipo -info :,应用程序的体系结构:arm64

  29. 29

    多个文件使用的头文件中的结构声明导致体系结构x86_64的重复符号

热门标签

归档