Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
all: g++ -g -pthread -lcrypto /usr/lib/i386-linux-gnu/libpthread.so /usr/lib/i386-linux-gnu/libpthread.a /usr/lib/i386-linux-gnu/libssl.so /usr/lib/i386-linux-gnu/libssl.a /usr/lib/i386-linux-gnu/libboost_regex.so /usr/lib/i386-linux-gnu/libboost_regex.a main.cpp Fight.cpp Game.cpp ListenThread.cpp Location.cpp TCPProv.cpp TCPProvLocation.cpp TCPServer.cpp WorkerThread.cpp -o tcpserver
/home/vadim/server/newserver/WorkerThread.cpp:79: undefined reference to `EVP_CIPHER_CTX_init'/home/vadim/server/newserver/WorkerThread.cpp:80: undefined reference to `EVP_aes_256_cfb128'/home/vadim/server/newserver/WorkerThread.cpp:81: undefined reference to `EVP_DecryptInit'/home/vadim/server/newserver/WorkerThread.cpp:89: undefined reference to `EVP_DecryptFinal'/home/vadim/server/newserver/WorkerThread.cpp:86: undefined reference to `EVP_DecryptUpdate'/home/vadim/server/newserver/WorkerThread.cpp:99: undefined reference to `EVP_CIPHER_CTX_cleanup'collect2: error: ld returned 1 exit statusmake: *** [all] Ошибка 1
что я сделал не так?
TARGET=$(shell basename `pwd`)SOURCES=$(wildcard *.cpp)OBJECTS=$(SOURCES:%.cpp=%.o)CFLAGS+=$(shell pkg-config --cflags pthread-stubs libssl)LDFLAGS+=$(shell pkg-config --libs pthread-stubs libssl)all: $(TARGET)$(OBJECTS): $(SOURCES)$(TARGET): $(OBJECTS) $(CXX) -o $(TARGET) $(LDFLAGS) $(OBJECTS) $(LOADLIBES) $(LDLIBS)clean: $(RM) $(OBJECTS) $(TARGET).PHONY: all clean
Makefile:13: *** пропущен разделитель (не имели ли вы в виду TAB вместо восьми пробелов?). Останов.
g++ -o main -lssl -lcrypto /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 0 имеет недопустимый индекс символа 11/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 1 имеет недопустимый индекс символа 12/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 2 имеет недопустимый индекс символа 2/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 3 имеет недопустимый индекс символа 2/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 4 имеет недопустимый индекс символа 11/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 5 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 6 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 7 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 8 имеет недопустимый индекс символа 12/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 9 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 10 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 11 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 12 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 13 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 14 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 15 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 16 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 17 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 18 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 19 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 20 имеет недопустимый индекс символа 13/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 21 имеет недопустимый индекс символа 22/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): перемещение 0 имеет недопустимый индекс символа 2/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function `_start':(.text+0x18): undefined reference to `main'collect2: error: ld returned 1 exit statusmake: *** [main] Ошибка 1
gunsoy, в Makefile можно не пересуложнять со всякими переменными, а вставить команду, как если бы собирал из терминала. Просто вызов g++(или что нужно), после чего прописать имена файлов и флаги компиляции.
all: g++ -g main.cpp Fight.cpp Game.cpp ListenThread.cpp Location.cpp TCPProv.cpp TCPProvLocation.cpp TCPServer.cpp WorkerThread.cpp -L/usr/lib/i386-linux-gnu/ -pthread -lcrypto -lpthread -lssl -lboost_regex -o tcpserver
Код: [Выделить]-L/usr/lib/i386-linux-gnu/
-L/usr/lib/i386-linux-gnu/
Страница сгенерирована за 0.033 секунд. Запросов: 27.