我在aarch64上使用Crypto ++,在编译使用cryptopp-7.0.0的二进制文件时遇到一个问题,我面对的唯一链接问题与def scroll():
xx = 10
while True:
browser.execute_script("window.scrollTo(0, {})".format(xx))
xx += 10
有关,所有其他类都运行良好,这是程序本身,它实际上是一个隔离问题的基本程序:
RSAFunction
尝试使用此命令进行编译时:
#include "cryptopp/rsa.h"
using CryptoPP::RSA;
#include <string.h>
using std::string;
#include <unistd.h>
int main(void)
{
RSA::PublicKey publicKey;
return 0;
}
我遇到了这些错误:
~$ toolchain/bin/aarch64-libreelec-linux-gnueabi-g++ cryptopptestfile.cpp -o crypttest -L/toolchain/usr/lib -lcryptopp
这仅与:
有关<artificial>:(.text+0xe7c): undefined reference to `vtable for CryptoPP::RSAFunction'
<artificial>:(.text+0xe80): undefined reference to `vtable for CryptoPP::RSAFunction'
<artificial>:(.text+0xea8): undefined reference to `VTT for CryptoPP::RSAFunction'
<artificial>:(.text+0xeb4): undefined reference to `VTT for CryptoPP::RSAFunction'
/tmp/ccs498WJ.ltrans0.ltrans.o: In function `CryptoPP::InvertibleRSAFunction::~InvertibleRSAFunction()':
<artificial>:(.text+0x10c0): undefined reference to `vtable for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x10c4): undefined reference to `VTT for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x10c8): undefined reference to `vtable for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x112c): undefined reference to `VTT for CryptoPP::InvertibleRSAFunction'
/tmp/ccs498WJ.ltrans0.ltrans.o: In function `CryptoPP::InvertibleRSAFunction::InvertibleRSAFunction()':
<artificial>:(.text+0x12e4): undefined reference to `VTT for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x12f8): undefined reference to `VTT for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x1324): undefined reference to `vtable for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x132c): undefined reference to `vtable for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x13cc): undefined reference to `VTT for CryptoPP::InvertibleRSAFunction'
<artificial>:(.text+0x13dc): undefined reference to `VTT for CryptoPP::InvertibleRSAFunction'
感谢帮助。
以下是编译标志:
cryptopp::RSAFunction(s)
g ++版本:
arch64-libreelec-linux-gnueabi-g++ -march=armv8-a+crc+fp+simd -mabi=lp64 -Wno-psabi -mcpu=cortex-a53+crc+fp+simd -fomit-frame-pointer -Wall -pipe -Os -flto -ffat-lto-objects -fPIC -pipe -c rsa.cpp
答案 0 :(得分:0)
已确定问题,这是因为此编译标志:
idx = ((old['Pub Date'] == new['Pub Date'])
& (old['Forecast Time'] == new['Forecast Time'])
& (old['Forecast Date'] == new['Forecast Date'])
& (old['State'] == new['State'])
if ~np.all(idx==False):
# now concatenate the new data onto the old dataframe.
old = pd.concat([old, new.loc[~idx, :], axis=0)
我删除此编译标志后,一切正常,请注意激活此标志:
-flto
使用从6.0.0到8.0.0版本测试的RSAFunction时,此标志会断开链接器