Я тестирую реализацию CNN, предоставленную here. Я запустить команду:C++ реализация CNN Ошибка добавления символов: DSO отсутствует в командной строке
make cifar10 && ./cifar10
Но я получил следующие сообщения:
g++ -o cifar10 BatchProducer.o ConvolutionalLayer.o ConvolutionalTriangularLayer.o IndexLearnerLayer.o MaxPoolingLayer.o MaxPoolingTriangularLayer.o NetworkArchitectures.o NetworkInNetworkLayer.o Picture.o Regions.o Rng.o SigmoidLayer.o SoftmaxClassifier.o SparseConvNet.o SparseConvNetCUDA.o SpatiallySparseBatch.o SpatiallySparseBatchInterface.o SpatiallySparseDataset.o SpatiallySparseLayer.o TerminalPoolingLayer.o cudaUtilities.o readImageToMat.o types.o utilities.o vectorCUDA.o vectorHash.o OpenCVPicture.o SpatiallySparseDatasetCIFAR10.o cifar10.o -lopencv_core -lopencv_highgui -lopencv_imgproc -lrt -larmadillo -lopenblas -lz --std=c++11 -O3
/usr/bin/ld: BatchProducer.o: undefined reference to symbol '[email protected]@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [cifar10] Error 1
Что случилось с этим? Я установил все зависимости, перечисленные на веб-странице. Я не устанавливал CUDA, потому что я тестировал версию CPU here. Поэтому я не думаю, что ошибка связана с отсутствием CUDA. Я использую Ubuntu 14.04 и gcc 5.3.0. Спасибо, что помогли мне !!!
Спасибо. Я выполнил ваши инструкции и добавил «-lz» к флагам GCC. Но, похоже, ничего не изменилось. Я сделал что-то не так? Я положил все сообщения, распечатанные после запуска компиляции. Большое спасибо! – pfc