Template name undefined when import from "library" target.
Elfstone
elfstone at yeah.net
Sat Apr 16 11:45:38 UTC 2022
I'm building my first program with dub. It appears I can import
and use a struct from a "library". But the template struct is
undefined unless I change the target type to "sourceLibrary".
The sources are like this:
// library ////////////////
// shapes.d
module core.shapes;
struct triangle
{
}
// math.d
module core.math;
import std.stdio;
struct MATRIX(T, int R, int C)
{
}
// package.d
module core;
public
{
import core.math;
import core.shapes;
}
/////////////
// executable //////////////////
import std.stdio;
import core.math;
import core.shapes;
int main(string[] argv)
{
triangle t;
MATRIX!(float, 4, 4) a;
writeln(t);
return 0;
}
// dub.sdl
targetType "none"
dependency ":example" version="*"
subPackage {
name "core"
targetType "library"
sourcePaths "core"
importPaths "."
}
subPackage {
name "example"
targetType "executable"
sourceFiles "example/main.d"
importPaths "example"
dependency "proj:core" version="*"
}
I get Error: template instance `MATRIX!(float, 4, 4)` template
`MATRIX` is not defined
What am I doing wrong here?
More information about the Digitalmars-d-learn
mailing list