0

問題 - 64 ビット マシンでlibtomcrypt( ) を使用して .nexe をビルドできない-ltomcrypt

「互換性のないスキップ」または「見つかりません」。

/home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: skipping incompatible /home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/i686-nacl/usr/lib/libtomcrypt.a when searching for -ltomcrypt
/home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: skipping incompatible /home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../x86_64-nacl/usr/lib/libtomcrypt.a when searching for -ltomcrypt
/home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: cannot find -ltomcrypt

collect2: ld returned 1 exit status
make: *** [newlib/Release/my_module_unstripped_x86_32.nexe] Error 1

メイクファイル

ダウンロードした nacl sdk の既存の例のコピー。フラグtomcryptの結果で変更されます。-ltomcrypt

VALID_TOOLCHAINS := newlib glibc pnacl linux

NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)

include $(NACL_SDK_ROOT)/tools/common.mk


TARGET = my_module
LIBS = ppapi_cpp ppapi pthread tomcrypt

CFLAGS = -Wall
SOURCES = my_module.cc

# Build rules generated by macros from common.mk:

$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))

ifeq ($(CONFIG),Release)
$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
else
$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
endif

$(eval $(call NMF_RULE,$(TARGET),))

私が持っているもの

  • Linux 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  • my_module.cc- nacl モジュール コード (.cc ファイルは不要)
    • #include <tomcrypt.h>
  • Makefile(その上)
  • ~/nacl/pepper_35/
  • ~/nacl/naclports

libtocryptnaclports で再インストールを試みましたが、進展がありません。libが32ビットとしてビルドされていることは理解してtomcryptいますが、コンパイラを64ビットにする方法がわかりません。

tomcryptMakefile にフラグがない場合、エラーは発生しません。

私は Makefile や C++ の専門家ではありませんが、ゆっくりと掘り下げているので、このトピックに関する初心者向けの指示を与えることをお勧めします :D

4

1 に答える 1