+
Skip to content

building cpp prover on mac osx #362

Open
@zhiqiangxu

Description

@zhiqiangxu

When building the cpp prover on mac osx(M3), make fails with following error:

nasm -fmacho64 --prefix _ fr.asm -o fr_asm.o
g++ -c KeystoreUpdate.cpp -std=c++11 -O3 -I.
g++ -o KeystoreUpdate *.o -lgmp 
ld: warning: ignoring file '/Users/alan.xu/Desktop/github/smart-wallet/crates/zklogin/circuit/build/KeystoreUpdate/KeystoreUpdate_cpp/fr_asm.o': found architecture 'x86_64', required architecture 'arm64'
Undefined symbols for architecture arm64:
  "_Fr_add", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_band", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_89_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_92_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_95_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_98_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_101_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_104_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_bor", referenced from:
      ssigma1_28(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma1_28(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma0_29(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma0_29(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      bsigma1_30(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      bsigma1_30(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      bsigma1_30(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ...
  "_Fr_bxor", referenced from:
      sha256compression_4(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      sha256compression_4(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      sha256compression_4(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      sha256compression_4(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma1_28(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma1_28(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma0_29(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ssigma0_29(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ...
  "_Fr_copy", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_copyn", referenced from:
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_eq", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Keccakf_161_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_178_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_178_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CheckAreBytes_180_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_geq", referenced from:
      ShR_7_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShR_14_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShR_17_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShR_20_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShR_23_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShR_26_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShR_29_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_gt", referenced from:
      PoseidonEx_252_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_330_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ArraySelector_337_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      PoseidonEx_423_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ArraySelector_429_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ECDSAVerifyNoPubkeyCheck_623_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ECDSAVerifyNoPubkeyCheck_623_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_isTrue", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_land", referenced from:
      P256ScalarMult_622_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      P256ScalarMult_622_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CompConstant_627_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CompConstant_627_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CompConstant_627_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ...
  "_Fr_leq", referenced from:
      BigMultShortLong_564_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMultShortLong_564_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMod_575_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMod_575_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMultShortLong_576_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMultShortLong_576_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMultShortLong_583_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BigMultShortLong_583_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_lor", referenced from:
      P256ScalarMult_622_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_A_52(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_B_53(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_B_53(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_p256_prime_24(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_p256_prime_24(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      get_p256_prime_24(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ...
  "_Fr_lt", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_mul", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_2_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_neg", referenced from:
      SingleNegOneArray_336_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      SingleNegOneArray_428_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      IsZero_438_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CheckCarryModP_589_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CheckCarryModP_596_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CheckCarryModP_608_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      CheckCarryModP_616_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_neq", referenced from:
      IsZero_438_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      SMTProcessor_710_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      SMTProcessor_710_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      get_signed_Fp_carry_witness_11(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      mod_inv_13(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      mod_inv_26(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      short_div_60(Circom_CalcWit*, FrElement*, unsigned int, FrElement*, int) in KeystoreUpdate.o
      ...
  "_Fr_q", referenced from:
      Fr_init() in fr.o
      writeBinWitness(Circom_CalcWit*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in main.o
  "_Fr_rawCopy", referenced from:
      RawFr::exp(RawFr::Element&, RawFr::Element const&, unsigned char*, unsigned int) in fr.o
      RawFr::exp(RawFr::Element&, RawFr::Element const&, unsigned char*, unsigned int) in fr.o
      RawFr::exp(RawFr::Element&, RawFr::Element const&, unsigned char*, unsigned int) in fr.o
  "_Fr_rawFromMontgomery", referenced from:
      RawFr::toString(RawFr::Element const&, unsigned int) in fr.o
      RawFr::toMpz(__mpz_struct*, RawFr::Element const&) in fr.o
      RawFr::toRprBE(RawFr::Element const&, unsigned char*, int) in fr.o
  "_Fr_rawMMul", referenced from:
      RawFr::inv(RawFr::Element&, RawFr::Element const&) in fr.o
      RawFr::div(RawFr::Element&, RawFr::Element const&, RawFr::Element const&) in fr.o
      RawFr::div(RawFr::Element&, RawFr::Element const&, RawFr::Element const&) in fr.o
      RawFr::exp(RawFr::Element&, RawFr::Element const&, unsigned char*, unsigned int) in fr.o
  "_Fr_rawMSquare", referenced from:
      RawFr::exp(RawFr::Element&, RawFr::Element const&, unsigned char*, unsigned int) in fr.o
  "_Fr_rawNeg", referenced from:
      RawFr::RawFr() in fr.o
  "_Fr_rawR3", referenced from:
      RawFr::inv(RawFr::Element&, RawFr::Element const&) in fr.o
      RawFr::div(RawFr::Element&, RawFr::Element const&, RawFr::Element const&) in fr.o
  "_Fr_rawToMontgomery", referenced from:
      RawFr::RawFr() in fr.o
      RawFr::RawFr() in fr.o
      RawFr::set(RawFr::Element&, int) in fr.o
      RawFr::fromString(RawFr::Element&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int) in fr.o
      RawFr::fromUI(RawFr::Element&, unsigned long) in fr.o
      RawFr::fromMpz(RawFr::Element&, __mpz_struct const*) in fr.o
      RawFr::fromRprBE(RawFr::Element&, unsigned char const*, int) in fr.o
      ...
  "_Fr_shl", referenced from:
      LongToShortNoEndCarry_566_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_566_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_566_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_566_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_566_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_566_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_577_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_577_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_577_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_577_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_577_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      LongToShortNoEndCarry_577_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_shr", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_89_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_92_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_95_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_98_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_101_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      RC_104_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_sub", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Xor3_3_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      XOR_4_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ShL_8_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      OR_9_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_toInt", referenced from:
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      Num2Bits_0_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      BytesToBitsLE_1_run(unsigned int, Circom_CalcWit*) in KeystoreUpdate.o
      ...
  "_Fr_toLongNormal", referenced from:
      writeBinWitness(Circom_CalcWit*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in main.o
  "_Fr_toNormal", referenced from:
      Fr_toMpz(__mpz_struct*, FrElement*) in fr.o
      Fr_element2str(FrElement*) in fr.o
      Fr_idiv(FrElement*, FrElement*, FrElement*) in fr.o
      Fr_idiv(FrElement*, FrElement*, FrElement*) in fr.o
      Fr_idiv(FrElement*, FrElement*, FrElement*) in fr.o
      Fr_mod(FrElement*, FrElement*, FrElement*) in fr.o
      Fr_mod(FrElement*, FrElement*, FrElement*) in fr.o
      Fr_mod(FrElement*, FrElement*, FrElement*) in fr.o
      ...
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [KeystoreUpdate] Error 1

I've installed the dependencies following tips here.

Here's the automatically created Makefile:

CC=g++
CFLAGS=-std=c++11 -O3 -I.
DEPS_HPP = circom.hpp calcwit.hpp fr.hpp
DEPS_O = main.o calcwit.o fr.o fr_asm.o

ifeq ($(shell uname),Darwin)
	NASM=nasm -fmacho64 --prefix _
endif
ifeq ($(shell uname),Linux)
	NASM=nasm -felf64
endif
	
all: KeystoreUpdate
	
%.o: %.cpp $(DEPS_HPP)
	$(CC) -c $< $(CFLAGS)

fr_asm.o: fr.asm
	$(NASM) fr.asm -o fr_asm.o
	
KeystoreUpdate: $(DEPS_O) KeystoreUpdate.o
	$(CC) -o KeystoreUpdate *.o -lgmp 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载