【发布时间】:2014-02-12 16:33:36
【问题描述】:
我对 C++ 还很陌生,我正在尝试设置 ncurses,但我无法让它工作。 代码如下:
#include <iostream>
#include <string>
#include <ncurses.h>
int main(){
initscr();
printw("Hello World !!!");
refresh();
getch();
endwin();
return 0;
}
使用这个文件我得到“未定义的引用”错误
这是生成文件:
main.o: main.cpp ncurses.h
g++ main.cpp -o crawler -lncurses
生成文件的错误是:
make: *** No rule to make target `ncurses.h', needed by `main.o'. Stop.
感谢您的帮助!
注意:我正在使用带有 Geany 和 g++ 的 Ubuntu 12.04
【问题讨论】:
-
从
main.o: main.cpp ncurses.h中删除ncurses.h,你不需要那个,这也是C代码不是C++。 -
@user2485710 不能同时使用 ncurses 和 C++ 吗?我以为你可以。我以前见过它的工作原理。
-
@user68537 我相信你仍然可以在 c/c++ 中使用 ncurses,你只是不必在 makefile 中定义 ncurses.h。
-
是的,你可以,但是帖子不应该被标记为
c++,因为整个sn-p都是C,你使用的函数都来自C世界,并且如果你想在C++应用程序中使用C代码,你应该使用extern "C",谷歌了解更多关于关键字extern的信息。 -
makefile 中的依赖项必须使用绝对路径或相对于当前工作目录的路径来指定。通常,您不会将库头作为依赖项,因为库头不会被修改。