我在学校的linux服务器上做家庭作业时非常失望。 原因是:我的作业需要进行GUI应用。
我拥有的所有工具是: - 从我的本地机器到学校机器的ssh - 我学校机器中的gcc / g ++
我一直在思考并尝试了一周不同的解决方案。 我仍然无法弄清楚如何将GUI引入我的应用程序。
以下是我尝试的一些解决方案: - 安装一些图形库(sdl,ncurses ...),但学校计算机不允许安装,因为我不是root用户 - 尝试使用/ X11 /编译以生成X-GUI应用程序。然后运行它throgh ssh(隧道)。这不起作用,因为学校计算机没有位于X11中的头文件。
那么,我能做什么?有人有建议吗? 如果你能为解决方案提供帮助,我将万次感谢你。
非常感谢你。 翼
答案 0 :(得分:4)
如果从源代码安装它们,应该可以在用户空间(在主目录中)安装大多数东西,比如ncurses甚至X11。使用Gnu包,您只需使用--prefix =作为参数进行配置,如下所示:
./configure --prefix=/name/of/directory/to/install/into
我不确定其他包裹。
答案 1 :(得分:2)
如果没有链接的GUI库,您将无法在该服务器上开发C / C ++应用程序。在我看来,你有几个选择:
1)在其他地方开发此GUI应用程序。如果它必须在Linux中,并且您是Windows / Mac用户,则可以在虚拟机上安装Ubuntu(或其他一些Linux Distro)并获得功能齐全的环境。
2)联系Linux管理员解释作业分配并说服他们为您安装GUI包。 (让教授也联系Linux管理员可能会有所帮助)(如果您不知道linux管理员是谁,请尝试通过电子邮件发送root @ linuxbox
3)修改“GUI”环境的规则。例如,您的C / C ++应用程序是否可以通过Web浏览器输出HTML文件以获得类似GUI的体验?
4)尝试在服务器上的帐户中安装某种GUI包。这可能会失败,除非你非常非常擅长管理一个linux盒子,并且你之前已经手工构建了包。
答案 2 :(得分:1)
可以使用ncurses
执行此操作答案 3 :(得分:0)
也许您可以放弃学校服务器并使用Virtualbox在您的计算机上本地运行Linux VM并进行开发。它是免费的。
答案 4 :(得分:0)
来自ncurses源档案中的“INSTALL”文件:
The package gets installed beneath the --prefix directory as follows: In $(prefix)/bin: tic, infocmp, captoinfo, tset, reset, clear, tput, toe In $(prefix)/lib: libncurses*.* libcurses.a In $(prefix)/share/terminfo: compiled terminal descriptions In $(prefix)/include: C header files Under $(prefix)/man: the manual pages Note that the configure script attempts to locate previous
安装 ncurses,并根据找到的位置设置默认前缀 ncurses标题。
Do not use commands such as make install prefix=XXX to change the prefix after configuration, since the prefix value
被使用 对于某些绝对路径名,例如TERMINFO。而是这样做
make install DESTDIR=XXX
因此我建议使用“make install DESTDIR = XXX”,其中XXX是您写入权限的位置。
HTH