undefined reference to "main"
FeepingCreature
feepingcreature at gmail.com
Wed Apr 5 09:28:17 UTC 2023
On Wednesday, 5 April 2023 at 09:19:17 UTC, Alexander Zhirov
wrote:
> How to compile the example given in the book correctly? When
> compiling, an error occurs that the main function is missing.
> If I replace `shared static this()` with `void main()', then
> everything starts. What does the compilation string in `dub`
> and `dmd` look like correctly?
>
> ```d
> import vibe.d;
>
> shared static this()
> {
> auto settings = new HTTPServerSettings;
> settings.port = 8080;
> settings.bindAddresses = ["::1", "127.0.0.1"];
> listenHTTP(settings, &hello);
>
> logInfo("Please open http://127.0.0.1:8080/ in your
> browser.");
> }
>
> void hello(HTTPServerRequest req, HTTPServerResponse res)
> {
> res.writeBody("Hello, World!");
> }
> ```
This seems to work for me:
```d
/+ dub.json: {
"name": "test",
"dependencies": {
"vibe-d": "*"
}
} +/
import vibe.d;
shared static this()
{
auto settings = new HTTPServerSettings;
settings.port = 8080;
settings.bindAddresses = ["::1", "127.0.0.1"];
listenHTTP(settings, &hello);
logInfo("Please open http://127.0.0.1:8080/ in your browser.");
}
void main() {
runApplication;
}
void hello(HTTPServerRequest req, HTTPServerResponse res)
{
res.writeBody("Hello, World!");
}
```
Run with
```
dub run --single test.d
```
More information about the Digitalmars-d-learn
mailing list