Связанный .lib-файл связан с .dll
У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.
Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.
В этом вы не можете сделать WeightIn weight1 = new WeightIn();
, поскольку конструктор по умолчанию не определен.
Итак, вы можете добавить
public WeightIn(){
}
Или вы можете это сделать
WeightIn weight1 = new WeightIn(3.65,1.7) // constructor accept two double values
У вас нет конструктора WeightIn (). Создайте его или укажите параметры в основном методе для конструктора.
Добавьте это в свой класс:
public WeightIn(){
}
Прежде всего, вы должны знать, что один .java-файл может иметь только один открытый класс.
Вы получаете ошибку, потому что вы написали параметризованный конструктор и получили доступ к конструктору по умолчанию. Чтобы исправить эту ошибку, напишите:
WeightIn weight1 = new WeightIn(5.2, 52.2);
вместо
WeightIn weight1 = new WeightIn();
WeightIn weight1 = new WeightIn();
Конструктор по умолчанию не определен. Пожалуйста, определите его следующим образом: -
public weightIn()
{
}
Компилятор встречает вызов конструктора «WeightIn()
» no argument в этой строке:
WeightIn weight1 = new WeightIn(); //Error happens here.
Компилятор ищет подходящий конструктор в определении класса, а его не найдя его. Это ошибка. (У вас есть определенный конструктор: «WeightIn(double,double)
», но он принимает два аргумента и не соответствует.)
Несколько способов исправить это.
Самое простое изменение код в вашем основном методе передать два аргумента.
WeightIn weight1 = new WeightIn( 3.65, 1.7);
//weight1.setWeight(3.65);
//weight2.setHeight(1.7);
Вызов методов setWeight
и setHeight
избыточен, так как члены уже назначены значениям методом конструктора.