Ошибка 42 при попытке доступа к членам структуры шаблонов - PullRequest
1 голос
/ 18 марта 2012

Я пытаюсь использовать Gl3n (https://bitbucket.org/dav1d/gl3n), но Я получаю ошибку 42 всякий раз, когда я пытаюсь это сделать:

alias Vector!(float, 2) vect2;
vect2 position;
position.x = 2.0f; //This is what causes the error

Я посмотрел, как была реализована структура, а x - это псевдоним для функции get / set, которая взаимодействует с массивом, который хранит значения для вектора. Я пробовал что-то вроде этого:

alias Vector!(float, 2) vect2;
vect2 position;
position = vect2(0.0f, 0.0f);

Однако оба метода выдают одну и ту же ошибку:

Error 42: Symbol Undefined pure nothrow @property @safe void 
gl3n.linalg.Vector!(float, 
2).Vector.set_!('x').set_(float)    C:\Users\CP\Documents\Visual 
Studio 2010\Projects\D\STDS\    

Error 42: Symbol Undefined 
_D4gl3n6linalg16__T6VectorTfVi2Z6Vector6__initZ 

У меня есть импортированный модуль linalg, как это вверху:

import Gl3n.linalg; //Gl3n is the folder the source files are in

1 Ответ

2 голосов
/ 19 марта 2012

Если я правильно помню, ошибка 42 - это ошибка компоновщика (optlink).

Я не помню флаг компоновщика, но вам нужно сообщить компоновщику, где находится библиотека (я думаю, gl3n.lib).

Вы можете использовать прагму (lib, "gl3n.lib") в верхней части основного файла, предполагая, что gl3n.lib находится в каталоге, из которого вы компилируете.

...