2014-09-23 60 views
0

我试图访问使用nacl_io库的套接字相关的API。为了测试一下,我写了一个样本UDPClient.cpp并将其添加到“getting_started/part2”教程中,并相应地修改了Makefile。我还添加了一个基于“examples/demo/nacl_io”项目清单文件的manifest.json文件。错误:没有规则,使目标`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" 
     ] 
    } 
] 
} 

当我运行make在这个项目上,这是我得到的错误:

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_init来初始化nacl_io。我只想让它先成功编译。 UDPClient基于此:http://www.cs.put.poznan.pl/csobaniec/examples/sockets/

回答

0

我想出了什么是错的。这条线是从我的Makefile丢失:

$(foreach dep,$(DEPS),$(eval $(call DEPEND_RULE,$(dep)))) 

增加了它下面的“生成#生成规则......”

编辑:您也可以完全删除“DEPS”行,因为它是唯一必要的,如果你正在对nacl_io本身进行更改。感谢@binji指出这一点。

+0

您也可以从DEPS行中删除nacl_io。这在修改nacl_io时非常有用。如果您正常使用该库,则可以将其关闭。 – binji 2014-09-24 17:10:43

+0

是的,我后来意识到了。谢谢。 :) – 2014-09-26 06:49:32

相关问题