首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法DSM helloworld包编译错误编写的C++

语法DSM helloworld包编译错误编写的C++
EN

Stack Overflow用户
提问于 2015-03-27 03:52:17
回答 1查看 1K关注 0票数 3

请帮帮我。我试着编译hello包编写的c++。我的环境是OS :Ubuntu14.4,语法工具链是bromolow 64位编译器,但我无法获得helloworld.cgi。我不知道原因。源代码是

代码语言:javascript
复制
#include "webman.h"

#include <string>

#include <stdio.h>

#include <synosdk/proc.h>

using namespace std;

int main(int argc, char* argv[]) {
    WebMan _cgi;
    Json::Value out;
    out["uname"] = "helloworld";
    out["ret"] = true;
    out["success"] = true;
    _cgi.WriteHeader();
    _cgi.WriteBody(out);
    return 0;
}

而制作文件是

代码语言:javascript
复制
.PHONY: all clean
.SUFFIXES: .cgi
CXXFLAGS=$(shell pkg-config libdsm --cflags)
LDFLAGS+=$(shell pkg-config libdsm --libs)
CXXFLAGS+=-I/usr/syno/nclude/gpl \
          -I/usr/syno/include/synocgi \
# source files

SRC=${cgi_name}.cpp
CGI=$(SRC:%.cpp=../%.cgi)

all: $(CGI)

../%.cgi: %.cpp
    echo $(CXX) -o $@ $^ $(CFLAGS) $(LDFLAGS)
    $(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS)

clean:
    rm -f core *~ *.o $(CGI)

我犯了这样的错误

代码语言:javascript
复制
======= Run build script =======

make: *** No rule to make target `distclean'.  Stop.
==> cgi
==> js
<== js
/usr/local/i686-linux-gnu/bin/i686-linux-gnu-ccache-g++ -o ../helloworld.cgi helloworld.cpp -I/usr/local/i686-linux-gnu/include -DSYNO_X64 -O2 -I/usr/syno/include -g -DSYNO_PLATFORM=X64 -g -DSDK_VER_MIN_REQUIRED=400 -L/usr/local/i686-linux-gnu/lib -L/usr/syno/lib -Wl,-rpath-link -Wl,/usr/syno/lib -L/usr/local/i686-linux-gnu/lib -L/usr/syno/lib -L/source/libsynocgi/lib -L/usr/syno/sqlite3/lib/ -L/source/libsynoacl/lib/ -L/source/libsynosdk/gpl/ -L/source/google-authenticator-1.x -lsynocgi -ljson -lsynowireless-core -lsynoacl -lsynogpl -lsynocoregpl -lsynobandwidth -lsynowimax -lsynosdk -lsynocore -lcrypt -lnet -licui18n -licuuc -licudata -lxml2 -lattr -lm -ldl -lz -lsqlite3 -lgoogleauth -ldsm
/usr/local/i686-linux-gnu/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/bin/ld: cannot find -lnet
collect2: ld returned 1 exit status
make[2]: *** [../helloworld.cgi] Error 1
make[1]: *** [cgi] Error 2
make: *** [ui] Error 2

There is no install-dev scripts for helloworld.

Time cost: 00:00:03 [Build-->helloworld]
I got the following error:
make[2]: *** [../helloworld.cgi] Error 1
make[1]: *** [cgi] Error 2
make: *** [ui] Error 2
EN

回答 1

Stack Overflow用户

发布于 2016-01-20 09:35:32

也许我已经太晚了:)通过错误消息,我想您需要在Makefile上添加额外的规则,用于不干净的,甚至是空的。同时,还需要添加install脚本,就像构建脚本和安装脚本一样。

如果没有上面的错误消息,您的源代码链接-lnet,但是工具链找不到它。我认为您需要为这个库提供一个路径(我不确定build是否有libnet )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29292982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档