在Ubuntu中找不到libcrypto

我想尝试一个有makefile的程序,但是当我把make放在shell里的时候,错误是:

  g++ -g -DaUNIX -I../../acroname/aInclude -I../../acroname/aSource -Wl,-rpath,. unix_aLaserDemo_Data/aLaserDemo.o unix_aLaserDemo_Data/acpLaser.o -lpthread -lcrypto -lssl -o ../../acroname/aBinary/aLaserDemo /usr/bin/ld: cannot find -lcrypto collect2: ld returned 1 exit status 

这里是makefile:

  CC = g++ CFLAGS = -DaUNIX -I../../acroname/aInclude -I../../acroname/aSource LFLAGS = -Wl,-rpath,. SRC = ../../acroname/aSource BIN = ../../acroname/aBinary LIBS = -lpthread -lcrypto -lssl \ #LIBS = -lpthread\ -L../../acroname/aBinary -l aUtil -l aIO OBJ = unix_aLaserDemo_Data .PHONY : app app : $(OBJ) $(BIN)/aLaserDemo $(OBJ) : mkdir $(OBJ) $(BIN)/aLaserDemo : $(OBJ)/aLaserDemo.o $(OBJ)/acpLaser.o $(CC) -g $(CFLAGS) $(LFLAGS) $^ $(LIBS) -o $@ $(OBJ)/aLaserDemo.o : aLaserDemo.cpp $(CC) -c $(CFLAGS) $< -o $@ $(OBJ)/acpLaser.o : $(SRC)/acpLaser.cpp $(SRC)/acpLaser.h $(CC) -c $(CFLAGS) $< -o $@ .PHONY : clean clean : rm -rf $(OBJ) rm -f $(BIN)/aLaserDemo 

我试图findencryption库:

  /usr/lib/i486/libcrypto.so.0.9.8 /usr/lib/i586/libcrypto.so.0.9.8 /usr/lib/i686/cmov/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.8 

我该怎么办才能解决这个问题?

我通过安装libssl-dev在12.10上解决了这个问题。

 sudo apt-get install libssl-dev 

ld试图找到libcrypto.so ,这是不存在的,如你的locate输出中所见。 您可以制作libcrypto.so.0.9.8的副本,并将其命名为libcrypto.so 。 把这是你的ld路径。 (如果你没有root权限,那么你可以把它放在一个本地路径中,并手动指定路径)