Я пытаюсь получить доступ к API-интерфейсам, связанным с сокетами, используя библиотеку nacl_io. Чтобы проверить это, я написал образец UDPClient.cpp и добавил его в учебник «get_started/part2» и соответствующим образом изменил Makefile. Я также добавил файл manifest.json, который я основал на манифесте файла проекта "examples/demo/nacl_io".Ошибка: нет правила для создания цели `pnacl/Release/nacl_io.stamp ', необходимой` pnacl/Release/udpclient_unstripped.bc
Мой Makefile выглядит следующим образом:
VALID_TOOLCHAINS := pnacl
NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)
include $(NACL_SDK_ROOT)/tools/common.mk
CHROME_ARGS += --allow-nacl-socket-api=localhost
TARGET = udpclient
DEPS = nacl_io
LIBS = nacl_io ppapi_cpp ppapi pthread
CFLAGS = -Wall
SOURCES = hello_tutorial.cc \
UDPClient.cpp
# Build rules generated by macros from common.mk:
$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
ifeq ($(CONFIG),Release)
$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
else
$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
endif
$(eval $(call NMF_RULE,$(TARGET),))
И это мой manifest.json (Я удалил «ключи» и «oauth2» записей, не уверен, если они необходимы):
{
"name": "UDPClient",
"version": "1.0",
"minimum_chrome_version": "35.0.1916.114",
"manifest_version": 2,
"description": "UDP client test",
"offline_enabled": false,
"icons": {
"128": "icon128.png"
},
"permissions": [
{
"socket": [
"resolve-host"
]
}
]
}
Когда я бегу сделать на этом проекте, это ошибка, я получаю:
CXX pnacl/Release/hello_tutorial.o
CXX pnacl/Release/UDPClient.o
make: *** No rule to make target `pnacl/Release/nacl_io.stamp', needed by `pnacl/Release/udpclient_unstripped.bc'. Stop.
Что является причиной этого ошибка?
Дополнительная информация: Функция внутри UDPClient.cpp на самом деле еще не вызвана, и, следовательно, я не инициализировал nacl_io с помощью nacl_io_init. Я просто хочу, чтобы он успешно скомпилировался первым. UDPClient основан на этом: http://www.cs.put.poznan.pl/csobaniec/examples/sockets/
Вы также можете удалить nacl_io из линии DEPS. Это действительно полезно при внесении изменений в nacl_io. Если вы обычно используете библиотеку, вы можете ее отключить. – binji
Да, я понял, что позже. Благодарю. :) –