0

我的代码:

#include <fcgi_stdio.h>

int main() {
    int count = 0;
    while(FCGI_Accept() >= 0) {
        printf("Content-type: text/html\r\n");
        printf("\r\n");
        printf("Hello world!<br>\r\n");
        printf("Request number %d.", count++);
    }
}

在一个新的多通道实例中,我安装了gcc,g++libfcfgi-devas

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install libfgci-dev

但是尝试使用编译代码g++ -std=c++17 -lfgci++ -lfcgi main.cpp -o main会出现错误

在 main 函数中:未定义对 `FCGX_Init` 的引用 ...

gcc:latest但是当我尝试在docker 容器中编译时,这不会发生。码头文件是

FROM gcc:latest
RUN apt-get update -yqq;
    apt-get install -yqq libfcgi-dev
COPY ./main.cpp /home/main.cpp
CMD g++ -std=c++17 /home/main.cpp -lfcgi++ -lfcgi -o /home/main

我在多通道实例中缺少什么?

4

1 回答 1

0

顺序很重要:库遵循输入文件

就像评论中提到的那样,情况确实如此。我不知道,我完全错过了它在dockerfile. 这确实是一件非常简单的事情,但感谢 SM 快速反应指出愚蠢的错误。希望这也有助于其他一些新手在未来遇到这个问题。

于 2020-12-15T03:38:57.220 回答